【问题标题】:Why are modules available for PHP command line, not PHP-Apache?为什么模块可用于 PHP 命令行,而不是 PHP-Apache?
【发布时间】:2019-02-03 19:40:51
【问题描述】:

我正在设置一个 Amazon Linux 环境,并且在安装了一些模块之后:

sudo yum install php-xml sudo yum install php-gd 例如...并安装 Imagick,然后重新启动 (sudo service httpd restart) 它似乎没有为 PHP-Apache 安装。我在 Amazon Linux 2 中使用官方 PHP7.2,奇怪的是,例如 xml_parser_create()php -a 控制台中工作,但是当我把它放在一个 php 文件中时,它会在转到 php 文件时导致异常, 黑屏。奇怪的是,它甚至没有将函数未定义错误发送到 /var/log/httpd 日志。

phpinfo() 也没有显示 Imagick 或 gd 虽然已安装。

我已经检查了disabled_functions 的 php ini 文件,但没有发现任何其他可能会在默认安装中明显损坏的东西...是否有一种新方法我应该为 Apache php 安装?

【问题讨论】:

  • 有一个用于命令行的 php.ini 和一个用于 PHP-Apache 的 php.ini 确保它们都添加到两者中
  • 密切注意 CLI 和 Apache 使用的实际 INI 文件 - 它位于 phpinfo() 输出的第一个表的中间
  • @IVOGELOV 我没有在任何 ini 文件中看到任何 disable_function 指令。这是一个新设置,所以令人惊讶的是他们将其设置为默认不加载新模块。
  • 正如我所说 - 通过 CLI 和 Apache 运行一次 phpinfo(),然后检查它们是否使用相同的 INI 文件 - 特别是 Loaded Configuration File 行(从上到下第 7 个)
  • 原因也可能在extension_dir指令中。我在 Windows 上遇到了同样的问题,一旦我用完整路径替换 "ext",它就解决了问题

标签: php apache php-7.2 amazon-linux


【解决方案1】:

正如其他人可能在其他地方指出的那样,还有另一个模块,我认为它是service php-fpm restart?这是 RHL 所必需的

【讨论】:

  • 比重新启动服务器更容易找到它神奇地找到了模块:)
猜你喜欢
  • 1970-01-01
  • 2017-09-29
  • 2015-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-30
  • 2011-11-27
相关资源
最近更新 更多