Search code examples
phpmysqlsymfony1propelsymfony-1.4

PHP Symfony Build All Propel Fails - MySQL


I have just set up a completely new Symfony 1.4 project and designed the schema but unfortunately I can't build the schema.

I having some trouble with the symfony command php symfony propel:build --all --no-confirmation.

Unfortunately it leaves a rather cryptic error message php symfony propel:build --all --no-confirmation does anyone know what is causing this error and how to correct it? Google turns up some polish websites that (even with translate) I cannot understand!

Many thanks!

Full Error:

>> schema    putting /Applications/XAMPP/xamppfiles/htdocs/swingers/config/generated-schema.xml
>> propel    Running "insert-sql" phing task
Execution of target "insert-sql" failed for the following reason: /Applications/XAMPP/xamppfiles/htdocs/swingers/lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/vendor/propel-generator/build-propel.xml:272:1:  [wrapped: SQLSTATE[HY000] [2002] No such file or directory]
    [phing] /Applications/XAMPP/xamppfiles/htdocs/swingers/lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/vendor/propel-generator/build-propel.xml:272:1:  [wrapped: SQLSTATE[HY000] [2002] No such file or directory]

  Some problems occurred when executing the task:                                       

  build-propel.xml:272:1:  [wrapped: SQLSTATE[HY000] [2002] No such file or directory]  

  If the exception message is not clear enough, read the output of the task for         
  more information                                                                      

>> file-     /Applications/XAMPP/xamppfiles/htdocs/swingers/config/generated-schema.xml
PezCuckowMBP:swingers pezcuckow$ 

Solution

  • Damn, I've answered my own question after some more thought:

    I am using Xampp on OSX 10.6. The problem is it was executing the wrong php binary.

    $ php symfony propel:insert-sql
    

    would call the php binary in /usr/bin/ not the one in

    /Applications/xampp/xamppfiles/bin/ which is what I wanted in the first place

    The command $ php is running the wrong PHP (OSX's default PHP).

    To resolve this problem I:

    Went in /usr/bin and renamed

    php to php_old
    phpize to phpize_old 
    php-config to php-config_old
    

    Then, make symbolic link:

    sudo ln -s /Applications/XAMPP/xamppfiles/bin/php-config php-config
    sudo ln -s /Applications/XAMPP/xamppfiles/bin/php php
    sudo ln -s /Applications/XAMPP/xamppfiles/bin/phpize phpize
    

    Hope this is of use to someone else stuck!