【问题标题】:Install PHP modules on CentOS在 CentOS 上安装 PHP 模块
【发布时间】:2015-03-26 05:17:19
【问题描述】:

我正在尝试在 CentOS 7.0 上安装 PHP 5.5.21。 当我执行php -v 我收到了大约 10 个类似这样的模块错误:

PHP Warning:  PHP Startup: curl: Unable to initialize module
Module compiled with module API=20100525
PHP    compiled with module API=20121212

我尝试使用pecl install curlpecl upgrade curl 安装或更新软件包 但 pecl 总是回应:

No releases available for package "pecl.php.net/curl"

yum install php-curl 说:

Package php-common-5.4.16-23.el7_0.3.x86_64 already installed and latest version
Nothing to do

如何修复模块错误?

【问题讨论】:

  • 仅仅因为安装了rpm包并不意味着它在php中被激活。检查 php.ini 和 /etc/php5 中可能存在的任何其他 .ini 文件或您的 centos 安装中的任何其他文件。从您的错误消息中,您安装了不正确的版本。你的 PHP 比你安装的 curl 更新了 2 年。
  • yum install php-curl 不应输出有关 php-common 的消息。你确定这就是正在发生的事情吗?
  • 是的,我确认我的模块目录中有 curl.so。我还有一个/etc/php.d/curl.ini,其中包含extension="curl.so",并且php.ini 配置为包含/etc/php.d/*.ini
  • 是的,我确认当我尝试安装 php-curl 时,我收到了一条关于 php-common 的消息,因为 php-common 包中包含许多模块。

标签: php module centos php-5.5 centos7


【解决方案1】:

尝试运行:find / -name curl.so

然后复制它在其中找到curl.so 的目录,并创建一个指向它的符号链接,其中存储了其余的工作 .so 文件:

cd <where your working .so files are>
ln -s <where curl.so is> curl.so

然后编辑您的php.ini 文件并启用扩展:

extension=curl.so

重启apache:

service httpd restart
service apache2 restart `#If the service is named apache2 rather than httpd`

当我遇到类似问题时,这解决了我的问题。

【讨论】:

    【解决方案2】:

    我终于解决了删除自定义 PHP 安装并使用 this tutorial 安装 PHP 5.5 的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-20
      • 1970-01-01
      • 2016-05-03
      • 2012-06-14
      • 1970-01-01
      • 2017-05-27
      • 1970-01-01
      相关资源
      最近更新 更多