从命令行运行PHP时“无法加载动态库”错误

时间:2010-10-29 22:39:54

标签: php unix command-line-interface

当我尝试运行我的脚本时,我首先将shebang放在顶部的脚本中,然后尝试了这个:

php -f /home/phil/www/disable_script.php

但我立刻受到了欢迎:

PHP Warning:  Unknown(): Unable to load dynamic library '/usr/lib/php4/zlib.so' - /usr/lib/php4/zlib.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Fatal error:  Call to undefined function:  date_default_timezone_set() in /home/phil/www/disable_script.php on line 3

当我说:

php -v

我明白了:

PHP Warning:  Unknown(): Unable to load dynamic library '/usr/lib/php4/zlib.so' - /usr/lib/php4/zlib.so: cannot open shared object file: No such file or directory in Unknown on line 0

我的下一步应该是什么?我需要重新安装php吗?

3 个答案:

答案 0 :(得分:0)

听起来你的php.ini中有一个设置试图加载它找不到的扩展名。检查以确保扩展名存在或编辑您的php.ini,以便它不会尝试加载扩展名。

此外,date_default_timezone_set()仅在PHP 5.1.0或更高版本中可用。您的安装看起来是PHP4。

答案 1 :(得分:0)

PHP4已经老了,丑陋而又not supported了。你应该尽快升级到PHP5。

答案 2 :(得分:0)

在该扩展名列表(Windows上的.so的resp.dll)之前,php.ini说:

;   extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.

我很乐意给出一条明确的路径,即

extension=d:\dev\fronker\php\ext\php_openssl.dll