【问题标题】:Strange issue with php5 & httpdphp5 和 httpd 的奇怪问题
【发布时间】:2017-05-27 22:19:12
【问题描述】:

问题 1:

我在启动 httpd 时收到以下消息:

Starting httpd: [Thu Jan 12 18:05:40 2017] [warn] module php5_module is already loaded, skipping

所以我打开位于 /etc/httpd/conf/httpd.conf 的 httpd.conf 并找不到加载 php5 的位置。谷歌提醒我应该删除这部分:

LoadModule php5_module /usr/lib64/httpd/modules/libphp5.so

问题 2:

我无法在 php 中正确使用 mysql。 谷歌说我应该在 php.ini 中添加一个 mysql 扩展。 奇怪的是 php.ini 位于 /opt/remi/php55/root/etc/php.ini。 同样在 /opt/remi/ 是一个名为 php54 的文件夹,但我认为该文件夹没用,因为我使用的是 5.6.29 版本。 也没有名为“mysql.so”的模块。 是的,我安装了php和php-mysql。

我使用 CentOs 6.8。

【问题讨论】:

  • 听起来你把你的系统弄得一团糟。供应商提供的版本是 5.3,您有 5.4 和 5.5 的文件夹,但您说您使用的是 5.6?我会重新开始,如果您需要最新版本的 PHP,请查看另一个发行版。 RHEL 之所以保守是有原因的。
  • @mikken32:RHEL 提供(可选)PHP 5.6 和 7.0。这真的很保守吗?见redhat.com/en/about/press-releases/…
  • @RemiCollet 对,我忘记了软件收藏。我用的是 Scientific Linux,所以我没听懂!
  • centos-scl 仓库中的软件包应该可以在 SL 上使用。
  • 您似乎只是缺少 php 的 mysql 扩展,它没有与您的发行版的 php 包捆绑在一起。在您的发行版中尝试安装一个名为“php5-mysql”或类似名称的包。关于 LoadModule 警告,它只是说您对同一模块使用了两次 LoadModule,删除重复的一个,消息就会消失。

标签: php mysql httpd.conf


【解决方案1】:

你已经安装了各种版本的 mod_php,而 Apache 只允许一个。

所以你得到了预期的警告“模块 php5_module 已加载”。您必须禁用不需要的版本(卸载它们)。

您正在使用专为并行安装而设计的软件集合(来自“remi-safe”存储库)(因此请使用 /opt 下的路径)

  • 如果你使用基本版本(php)你需要php-mysql
  • 如果使用SCL 5.6版(php56-php),需要php56-php-mysqlnd

如果你想要一个单一的版本,可能更简单的是不使用 SCL,但“remi-php56”存储库中可用的基本包。

请参阅Wizard 说明。

【讨论】:

  • 警告消息的确切含义是具有相同模块的“LoadModule”指令已被使用两次,httpd 不会以任何方式假设/报告不同版本,只是为了补充这个答案。
猜你喜欢
  • 2013-10-24
  • 2021-12-08
  • 1970-01-01
  • 2015-12-20
  • 2011-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多