【问题标题】:CentOS 6.5 - Plesk Onyx 17.0.17 - PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/apc.so'CentOS 6.5 - Plesk Onyx 17.0.17 - PHP 启动:无法加载动态库 '/usr/lib64/php/modules/apc.so'
【发布时间】:2016-11-27 11:34:52
【问题描述】:

在使用 Plesk Onyx 17.0.17 运行 CentOS 6.5 (Final) 的 VPS 服务器上检查 PHP 版本时,我收到以下错误:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/apc.so' - /usr/lib64/php/modules/apc.so: cannot open shared object file: No such file or directory in Unknown on line 0

PHP 5.3.3 (cli) (built: Aug 11 2016 20:33:53) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with the ionCube PHP Loader v4.6.0, Copyright (c) 2002-2014, by ionCube Ltd.

我还运行了以下 yum info php 命令:

Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirror.bytemark.co.uk
 * epel: mirror.bytemark.co.uk
 * extras: mirrors.coreix.net
 * updates: mirrors.coreix.net
Installed Packages
Name        : php
Arch        : x86_64
Version     : 5.3.3
Release     : 48.el6_8
Size        : 3.5 M
Repo        : installed
From repo   : updates
Summary     : PHP scripting language for creating dynamic web sites
URL         : http://www.php.net/
License     : PHP
Description : PHP is an HTML-embedded scripting language. PHP attempts to make
            : it easy for developers to write dynamically generated webpages.
            : PHP also offers built-in database integration for several
            : commercial and non-commercial database management systems, so
            : writing a database-enabled webpage with PHP is fairly simple. The
            : most common use of PHP coding is probably as a replacement for CGI
            : scripts.
            : 
            : The php package contains the module which adds support for the PHP
            : language to Apache HTTP Server.

我们目前正在设置一个临时站点来运行 Magento 2,上述错误导致尝试重新索引任何 Magento 索引管理服务和安装主题/扩展时出现问题。

我不确定哪些额外信息会有用,所以请告诉我要运行的任何命令以生成一些更有用的信息。

我是服务器类型工作的新手,所以请多多包涵并尽可能详细地介绍。

【问题讨论】:

  • 您确定您的 magento 网站可以在这个 PHP 5.3.3 上运行吗?也许我错了,但我认为 Magento 需要 PHP 5.4+。
  • Magento 2.1 现在至少可以在 PHP 5.6 上运行。暂存站点的托管运行 PHP 7.0.13。作为我在网上阅读的建议,服务器仍然使用 PHP 5.3.3 link

标签: server centos6 plesk


【解决方案1】:

这个错误意味着在/etc/php.d/ 的 PHP 配置中某处定义了通过字符串加载 APC 扩展,例如 extension = apc.so

它可能是文件: /etc/php.d/apc.ini

但是文件apc.so在默认扩展文件夹/usr/lib64/php/modules/中不存在

你可以:

  • 禁用加载此扩展

  • 或检查/usr/lib64/php/modules/apc.so的存在情况

  • 或重新安装包php-pecl-apc.x86_64

    # rpm -qf /usr/lib64/php/modules/apc.so # determines package of file
    php-pecl-apc-3.1.9-2.el6.x86_64
    
    # yum remove php-pecl-apc.x86_64
    # yum install php-pecl-apc.x86_64
    

要使用系统 PHP 在 CLI 中执行 PHP 脚本,您只需要安装 php-cli 包:yum install php-cli

如果您仍然需要另一个 PHP 版本,您可以在文件夹 /opt/plesk/php/ 中尝试 Plesk 的 PHP(如 /opt/plesk/php/5.6/bin/php

如果您在 /opt/plesk/php/ 中看不到任何内容,您可以使用 Plesk 安装程序安装其他 PHP 版本。

【讨论】:

  • 非常适合我!谢谢@oleg。那就是说我现在遇到了另一个问题。我没有意识到 CLI 可以使用不同版本的 PHP。从谷歌搜索我可以看到 PHP 5.3.3 不能通过 CLI 运行 PHP 文件,需要使用不同版本的 PHP。我相信 PHP 5.6 是我需要使用的。您能否建议如何在 CLI 上使用不同的 PHP 版本?
  • @user387729 其实 PHP 5.3 可以在 CLI 中执行,你只需要安装 CLI 包:yum install php-cli
  • @user387729 如果您仍然需要另一个 PHP 版本,您可以在文件夹 /opt/plesk/php/ 中尝试 Plesk 的 PHP(如 /opt/plesk/php/5.6/bin/php)看不到它们,您可以使用 Plesk Installer 安装其他 PHP 版本。
  • 经过更多路由后,我发现了一篇文章,它给了我以下代码来将 CLI PHP 版本切换到 5.6:
    _echo 'PATH=/opt/plesk/php/5.6/bin :$PATH' >> .bashrc && source.bashrc_
    。感谢您的帮助!
猜你喜欢
  • 2015-10-13
  • 2014-07-28
  • 2014-03-06
  • 2017-02-27
  • 2017-01-30
  • 1970-01-01
  • 2017-04-29
  • 2017-01-05
  • 2017-04-24
相关资源
最近更新 更多