【问题标题】:PHP don't load extensionPHP不加载扩展
【发布时间】:2013-07-11 10:24:36
【问题描述】:

我写了我的扩展。

Ubuntu系统。

php -c "/etc/php5/apache2/php.ini" -r "echo extension_loaded('my');"
 => 1 OK!

但是在 apache 下——什么都没有!

echo extension_loaded('my'); 
=> "" 

为什么?

php ini 显示:

"Loaded Configuration File /etc/php5/apache2/php.ini"

【问题讨论】:

  • Check 如果你的扩展是使用extension_loaded()加载的
  • 我写了..但没有加载
  • 您是否重新启动/重新加载 Apache? Apache 中的 PHP 缓存模块中的 INI 文件,直到重新加载 Apache。
  • 你是用你的 PHP 版本构建的扩展还是从其他来源获得的?

标签: php apache php-extension


【解决方案1】:

我总是把我的扩展放在单独的文件中,然后放在里面

/etc/php5/apache2/conf.d/

假设我想加载 mongo php 扩展,我将执行以下步骤:

sudo pecl install mongo

一旦成功完成,我会做一个

echo "extension=mongo.so" | sudo tee /etc/php5/apache2/conf.d/mongo.ini

之后我会重新加载或重新启动服务器

sudo service apache2 restart

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,我认为问题是在 apache 下运行时扩展路径相对于什么。

    默认设置

    extension_dir = "ext"
    在 CLI 中有效,因为 PHP 是直接调用的。

    在 apache 下运行时,当指定带有正斜杠的绝对路径时,我让它工作:

    extension_dir = "c:/php/ext"

    【讨论】:

      猜你喜欢
      • 2014-03-03
      • 1970-01-01
      • 2014-04-10
      • 1970-01-01
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      • 2016-07-28
      相关资源
      最近更新 更多