Jul 032009
 

Though problems I’m going to discuss are for symfony 1.2, I guess it applicable to 1.0 and 1.1 as well.

I finally got symfony works on godaddy shared hosting, I guess if I were running any sort of dedicated hosting, these problem could not have happened, as I have full control.

The first problem hit me is PHP version, symfony needs PHP5, and godaddy supports PHP5 – good. However, it seems godaddy’s default PHP is still PHP4 so have to set alias to make sure symfony script is interpreted by PHP5 instead of PHP4:

alias symfony=’/usr/local/php5/bin/php /path/to/symfony-1.2.7/data/bin/symfony’

after this, I got the problem, saying:

/usr/local/php5/bin/php: Symbol `client_errors’ has different size in shared object, consider re-linking

and turned out it was because of mysql client lib problem – I don’t know the detail yet, but seems /usr/local/php5/bin/php and /web/cgi-bin/php5 are both linked to /usr/lib/mysql/libmysqlclient.so.15, which works for /web one but not the /usr one. I did some tests and found /usr/lib/libmysqlclient.so.14.0.0 works perfect with /usr/local/php5/bin/php, so put this into my .bash_profile:

LD_PRELOAD=/usr/lib/libmysqlclient.so.14.0.0

note that /usr/lib/libmysqlclient.so.10.0.0 doesn’t work well as it’s too old to support modern (new) password encrypt/authentication.

By now I can use symfony do the development job, but problem are still there while I’m trying to browse from browser, the first thing is rewrite rules – these lines should be uncommented from web/.htaccess:

RewriteBase /
RewriteCond %{REQUEST_URI} \..+$
RewriteCond %{REQUEST_URI} !\.html$
RewriteRule .* – [L]

then I met the problem (which took me longest time to solve) with error:
Empty module and/or action after parsing the URL “/index.php” (/).
actually I should have got it solve earlier if I search on the web, there is a great article talking about the solution, and my problem got solved just after 1st part of solution mentioned by the blog – adding following lines to “all” section of apps/frontend/config/factories.yml:

request:
  param:
    path_info_key: REQUEST_URI

be careful with intending, original blog seems not doing the right thing and put “request” and “param” in same level, which is wrong.

Alright, by this time you will be able to play with symfony on shared hosting with godaddy. ๐Ÿ™‚

Jun 292009
 

I’m using symfony 1.2 now and it can work with both Doctrine and Propel. Frankly speaking, I don’t have any ideas of which one is better, but thinking of Doctrine was added in 1.2 while Propel was there since 1.0, I would assume Doctrine is better (otherwise, why bother?).

Here are some “formal” evaluation of Doctrine and Propel, seems I made the right guess ๐Ÿ˜›

  • http://blog.centresource.com/2007/04/10/doctrine-vs-propel-in-symfony/
  • http://codeutopia.net/blog/2009/05/16/doctrine-vs-propel-2009-update/

So you know, I’m using Doctrine in symfony now.

Jun 272009
 

Playing with Symfony, trying to deploy to godaddy, it’s way tooooooo troublesome, and I haven’t figure it out yet.

I think I’m going to stop trying that and instead, doing all the tests on my home Ubuntu. It seems shared hosting (that’s what I’m using on godaddy) has LOT limitation makes it totally different from normal setup.

Jun 202009
 

I’m playing with symfony now, will try to build up a album application first.

Ubuntu comes with 1.0, and seems things changed some (at least those admin commands) in v1.2, but I don’t think it matters too much.

I’m working on home Ubuntu box and will move the application to the hosting server after tests.