Upgraded php, what did I do wrong:

Bjarne D Mathiesen macintosh at mathiesen.info
Tue Mar 16 20:21:18 PDT 2010

Scott Haneda wrote:
> 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
>> You've also installed php5-mysql +mysqlnd
> I don't think so...
> php5-mysql @5.3.2_0+mysqlnd+universal (active)

You can see that you are using mysqlnd to interface between php and
mysql from the error message as well as what you've just written.
macports did some refactoring at a point and moved a lot of the variants
out into separate portfiles. So it's quite possible that you at some
point just wrote : port install php5 +mysql5 , or something along those

> 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.

mysqlnd is a native interface in php that replaces the interface that is
supplied by mysql
ref : http://www.php.net/manual/en/book.mysqlnd.php
macports uses this if nothing else has been specified, but you have the
option of falling back to the orginal mysql interface by specifying
another variant. Take a look at : port info php5-mysql

You can take a look at what happens in the portfile through this
command: less $(port file php5-mysql)

> 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-mysql
>> 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)
> Thanks for the pointers.

You are welcome :-)

Bjarne D Mathiesen
København N ; Danmark ; Europa
denne besked er skrevet i et totalt M$-frit miljø
MacOS X 10.6.2 Snow Leopard ; 2.8GHz Intel Core i7 ; 16GB 1067MHz DDR3

More information about the macports-users mailing list