在 shell 行中运行 PHP 会带来问题


Running PHP in shell line gives issues

每当我尝试运行PHP文件(例如我将用于cron任务的文件)时,我都会收到以下错误:

[root@server1 ~]# php
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr//20100525/apc.so' -        /usr//20100525/apc.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr//20100525/curl.so' - /usr//20100525/curl.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr//20100525/fileinfo.so' - /usr//20100525/fileinfo.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr//20100525/imap.so' - /usr//20100525/imap.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr//20100525/json.so' - /usr//20100525/json.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr//20100525/mcrypt.so' - /usr//20100525/mcrypt.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr//20100525/mysqli.so' - /usr//20100525/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr//20100525/phar.so' - /usr//20100525/phar.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr//20100525/sqlite3.so' - /usr//20100525/sqlite3.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr//20100525/wddx.so' - /usr//20100525/wddx.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr//20100525/zip.so' - /usr//20100525/zip.so: cannot open shared object file: No such file or directory in Unknown on line 0

我假设它与它试图从/usr//20100525加载扩展的事实有关,但我不确定扩展在哪里

编辑:

我的某个 PHP 配置中一定有问题。我重新安装了 PHP,现在一切似乎都在正常工作!

你需要使用符号链接:

ln -s /usr/lib64/php/modules /usr/20100525

我也遇到了这个错误,所以我用这种方式解决了它,试试这个

我去了 PHP Config,在 CPanel 中,点击"安装 php.ini 主文件"恢复了我的 php.ini主文件。然后它会在你的public_html主目录中创建一个名为php.ini.default的文件,我刚刚备份了旧的php.ini文件,并将php.ini.default重命名为php.ini。

之后,我去了安装了损坏的WP实例的目录,并将他们自己的php.ini文件重命名为php.ini.back,因此使用主要的php.ini文件。

就是这样。希望对您有所帮助。

您是否编辑了php.ini文件中的extension_dir设置?默认情况下,它是空白的,php在正确的位置找到其扩展名。您可以通过添加以下行来强制它:

extension_dir = "/usr/lib64/php/modules"

你说当它在 Apache 中运行时没有问题,只有当它作为脚本运行时。请记住,每个文件都有单独的php.init文件,例如:

$ locate /php.ini | grep ini$
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini