Upgraded php, what did I do wrong:

Scott Haneda talklists at newgeo.com
Tue Mar 16 18:23:52 PDT 2010


On Mar 16, 2010, at 11:27 AM, Bjarne D Mathiesen wrote:

> Scott Haneda wrote:
> 
>> On Mar 16, 2010, at 10:55 AM, Scott Haneda wrote:
>> 
>>> Last night I ran a quick `sudo port upgrade php5`
>>> /opt/local/bin/php
>>> haneda at macbook ~: $/opt/local/bin/php -i
>>> dyld: lazy symbol binding failed: Symbol not found: __mysqlnd_palloc_init_cache
>>> Referenced from: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/mysql.so
>>> Expected in: flat namespace
>>> 
>>> dyld: Symbol not found: __mysqlnd_palloc_init_cache
>>> Referenced from: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/mysql.so
>>> Expected in: flat namespace
>>> 
>>> Trace/BPT trap
>>> 
>>> Any idaes?
>> 
>> I can also add that I get this in the Apache log, and Apache2 will not start:
>> $tail -f /opt/local/apache2/logs/error_log 
>> 
>> [Tue Mar 16 10:57:04 2010] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
>> dyld: lazy symbol binding failed: Symbol not found: __mysqlnd_palloc_init_cache
>>  Referenced from: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/mysql.so
>>  Expected in: flat namespace
>> 
>> dyld: Symbol not found: __mysqlnd_palloc_init_cache
>>  Referenced from: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/mysql.so
>>  Expected in: flat namespace
> 
> You've also installed php5-mysql +mysqlnd

I don't think so...
php5-mysql @5.3.2_0+mysqlnd+universal (active)

I do not know what mysqlnd is to be honest.  I just know that I need to be able to connect to MySql with php for development.  When I did a `sudo port upgrade php5` php5, and Apache stopped working.  I did not test MySql, and on this machine, have not had a chance to make my own Mysql connection via php.

I did get it squared aware, and can login with phpMyAdmin, which I usually keep laying around, so if that works, I would assume I can hand craft a connection as well.

> I've got some problems getting the mysqlnd interface to work correctly,
> so try :
> port uninstall php5-mysql +mysqlnd
> port clean     php5-mysqlnd
> port install   php5-mysql +mysql5

All I ended up doing was updating:
    php5-mcrypt @5.3.2_0+universal (active)
    php5-mbstring @5.3.2_0+universal (active)
    zlib @1.2.4_0+universal (active)

> The reason that httpd fails to start is that it's got php5 as a module.
> And as php5 fails then the php5.so module in httpd fails and thus httpd
> fails to start.
> 
> If you don't need the php5 functionality in httpd you can comment out
> the loadmodule statement in httpd.conf and work around the problem
> temporarily this way.

No, I need php5 for sure, I would not have installed it had I not needed it.  I would maybe even say, aside from irssi, I use nothing more often out of MacPorts.

> If you don't need ssl in httpd I'll recommend also to comment out he ssl
> module in httpd.conf - that module is the reason for the warning as you
> haven't configured the ssl module properly.

Maybe locally I could get away with it, but I like to test the entire site from front to back, before I move it to a live server, which means some pages are going to need to be on SSL, and others not.  I will use redirects, or other tests to make sure I am on the right port.  I hate it when a site tosses me into SSL for a checkout of some form, and I am forever stuck in SSL mode without altering the url.  Or that they allow SSL on every page, such as a FAQ page.  I generally try to test these things out and bring the user to the correct port, and if for some reason they are not, I will check the port, and get them to the right page.

As to the issue, I am just wanting to understand what went wrong.  I am going to one day need to update php5 on a production server, this would not be something I want to run into on a server in which people are depending on it to be working.

Thanks for the pointers.
-- 
Scott * If you contact me off list replace talklists@ with scott@ * 



More information about the macports-users mailing list