sábado, 27 de março de 2010

PDO Connection Error com symfony no Mac OS X

Estava tentando rodar o comando ./symfony doctrine:insert-sql quando surge o seguinte erro:
PDO Connection Error: SQLSTATE[HY000] [2002] No such file or directory 
Eu já tinha visto esse erro quando estava desenvolvendo no Ubuntu (agora desenvolvo num Mac OS X) e lembrei vagamente do que fiz para resolver. Procurei na internet, mas as sugestões de solução envolviam alterar meu php.ini, coisa que eu não queria fazer.
Assim fui buscar no germe de backup que tenho e achei o método que tinha adotado para resolver isso. Não lembro a fonte desta solução - provavelmente algum dos fóruns sobre symfony - mas ela consiste basicamente em adicionar a configuração da localização do mysql.sock usado. No caso, meu arquivo database.yml ficou assim:

all:
  doctrine:
    class: sfDoctrineDatabase
    param:
      dsn: 'mysql:host=localhost;dbname=jobeet;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock'
      username: jobeet
      password: jobeet

No caso para o Ubuntu, eu estava usando o Lampp com ORM Propel.  O arquivo consistia em:

dev:
  propel:
    param:
      classname: DebugPDO

test:
  propel:
    class: sfPropelDatabase
    param:
      classname: DebugPDO
      dsn: 'mysql:host=localhost;dbname=jobeet_test;unix_socket=/opt/lampp/var/mysql/mysql.sock'
      username: jobeet
      password: 'jobeet'

all:
  propel:
    class: sfPropelDatabase
    param:
      classname: PropelPDO
      dsn: 'mysql:host=localhost;dbname=jobeet;unix_socket=/opt/lampp/var/mysql/mysql.sock'
      username: jobeet
      password: 'jobeet'
      encoding: utf8
      persistent: true
      pooling: true

É só.

terça-feira, 23 de março de 2010

Welcome Mac OS X and MAMP

Depois de tanto trabalho pra desenvolver com o XAMPP e com o WAMPP (esse nem tanto, afinal é só dar dois cliques mesmo), estou tendo que configurar para desenvolver com o MAMP.

Não que a instalação seja difícil ou complicada: é só arrastar a pasta pra dentro do diretório de Aplicações.
O que eu realmente demorei para entender é porque não conseguia criar um Virtual Host usando 127.0.0.6 como eu conseguia no Windows. Vá entender, mas só consegui criar o Virtual Host usando o 127.0.0.1, coisa tinha tentado inicialmente no Windows e que não surtiu efeito (e que também levou tanto tempo quanto essa configuração do MAMP).

Realmente... vá entender.
Outra coisa que notei é que o Mac OS X já vem com um apache pré-instalado. Decidi não utilizá-lo, mas creio que seja fácil encontrar algum tutorial na net que ensine como. Ele encontra-se na pasta /private/etc/apache2/

É só.

quarta-feira, 10 de março de 2010

Symfony e I18N - Parte 01

Bem simples mesmo, basta configurar no arquivo settings.yml as opções:

all:
  .settings:
    i18n: on
    default_culture: pt_BR

E depois colar na pasta I18n do seu projeto, os arquivos sf_admin.pt_BR.xml e messages.pt_BR.xml. Existem outros arquivos .xml que podem atuar também nessa pasta, preciso explicitar aqui de uma próxima vez!

Lembrar de SEMPRE, mas SEMPRE, limpar o cache do symfony (php symfony cc), pois a internacionalização fica armazenada lá.

É só.