【问题标题】:Running PHP in shell line gives issues在 shell 行中运行 PHP 会出现问题
【发布时间】:2023-03-14 02:50:02
【问题描述】:

每当我尝试运行 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,现在一切似乎都正常了!

【问题讨论】:

  • locate /curl.so 带给你什么?
  • /usr/lib64/php/modules/curl.so 现在如何更改模块的加载位置?真正奇怪的是,当它是一个普通的 PHP 页面时它可以正常工作:s

标签: php shell


【解决方案1】:

你需要使用符号链接:

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

【讨论】:

  • 仍然给出相同的消息,但如果我导航到 /usr/20100525 它并运行 ls 它确实给了我所有的模块
  • @user1247434 如果你复制了行再试一次(因为我有错字)
  • 我在复制之前注意到错字并先修复它
  • 也许你运行 php 的用户对这些文件没有足够的权限?
【解决方案2】:

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

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

之后,我转到安装了损坏的 WP 实例的目录,并将它们自己的 php.ini 文件重命名为 php.ini.back,以便使用主 php.ini 文件。

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

【讨论】:

    【解决方案3】:

    您是否编辑了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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 2011-06-29
      • 2019-04-27
      • 2014-10-06
      相关资源
      最近更新 更多