【问题标题】:Can you believe php -m says yes and phpinfo() says no?你能相信 php -m 说是而 phpinfo() 说不是吗?
【发布时间】:2014-09-03 08:17:05
【问题描述】:

这是我的 php.ini

extension_dir = "ext"
extension=php_tidy.dll

[Tidy]
;tidy.default_config = /usr/local/lib/php/default.tcfg
tidy.clean_output = Off

你能相信当我输入php -m时,我在列表中变得整洁,但是当我检查phpinfo()函数时,没有提到整洁?

当我在 php 文件中写入 $tidy = new tidy; 时,我收到此错误 Fatal error: Class 'tidy' not found in E:\DEV\WWW\lexique\load.php on line 32。 (该应用程序在以前的安装下运行良好)

PHP 5.4.15 阿帕奇 2.4

【问题讨论】:

  • 是的,我可以belive。您的问题现在得到解答了吗?
  • 仔细检查双方是否加载相同的php.ini
  • php -m 运行 CLI 版本,而您的 www 脚本当然使用 Apache 模块。不同的 php.ini,或无效的相对路径。
  • 上一个问题,在 stackoverflow 要求我更改之前,它就像“在 php 上安装 tidy”。问题不在于你是否相信,而是:我无法处理这个错误。有人知道我应该检查什么才能获得有效的安装吗?
  • php -i | grep "php.ini"(或php -i | findstr /C:"php.ini",如果您在 Windows 上)应该显示您的 CLI 版本使用哪个 php.ini。 phpinfo() 在顶部某处有相同的信息。他们肯定在使用不同的配置文件。

标签: php installation tidy


【解决方案1】:

CLI 和 Apache 环境使用单独的 php.ini 配置。因此,它们分别定义了它们使用的扩展。

必须在两种配置上启用 php_tidy 才能工作。

不过,这取决于您的设置。我以 Ubuntu 安装为例,它通常包含两个目录 /etc/php5/apache2/etc/php5/cli,每个目录都包含自己的 php.ini 文件。

然而,扩展本身通常是共享的,因此您不需要安装两次。

【讨论】:

  • 我知道 Windows 上的两个 php.ini 位置。只有我上面说的那个被加载了。
【解决方案2】:

我已经解决了,将 PHP 文件夹添加到 PATH 并重新启动计算机。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-28
    • 2023-03-08
    • 1970-01-01
    • 2022-11-27
    • 2011-02-13
    • 2021-08-18
    • 2014-03-20
    • 1970-01-01
    相关资源
    最近更新 更多