IcePHP导致PHP5 Crash

IcePHP3.2编译成功后就没有仔细看,昨天才发现,PHP5 FastCGI daemon不能启动,crash记录中显示:


Library not loaded: ../../lib/libIce.3.2.0.dylib
  Referenced from: /opt/IcePHP-3.2.0/lib/IcePHP.so
  Reason: image not found

应该是Ice的动态库无法找到,但是在bashrc中指定了libpath了。
今天又仔细看了一下,发现是在spawn-php5.sh中的问题,我使用了一个脚本来启动php5,
但是其中环境变量没有传递给php,虽然spawn-fcgi可以获得,但是php无法知道。
修改了一下这几行:

 ICE_HOME=/opt/Ice-3.2.0
 export ICE_HOME
 export DYLD_LIBRARY_PATH=$ICE_HOME/lib:$DYLD_LIBRARY_PATH
ALLOWED_ENV="$ALLOWED_ENV PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS PHPRC ICE_HOME DYLD_LIBRARY_PATH"

重新启动Php5,正常。

Comments

Leave a Reply