PHP不加载在php.ini中指定的扩展名,但DL()

问题描述:

PHP不加载通过php.ini中指定PHP不加载在php.ini中指定的扩展名,但DL()

php -v不给任何错误或警告

php -i | grep extension_dir扩展负载显示extension_dir设置为扩展名文件的位置,但它们不显示在扩展名列表中php -m

但是,运行php -r 'dl("apc.so"); phpinfo();' | grep apc表明模块正常加载dl()函数。

我从源码安装了php-5.3.5。 配置了

'--enable-fastcgi' 
'--enable-fpm' 
'--enable-mbstring' 
'--enable-pdo' 
'--enable-inline-optimization' 
'--enable-sockets' 
'--enable-zip' 
'--enable-mbregex' 
'--enable-xml' 
'--enable-sysvsem' 
'--enable-sysvshm' 
'--enable-pcntl' 
'--enable-ftp' 
'--enable-soap' 
'--enable-shmop' 
'--disable-rpath' 
'--disable-debug' 
'--with-mcrypt' 
'--with-zlib' 
'--with-curl' 
'--with-bz2' 
'--with-mysql' 
'--with-gettext' 
'--with-gd' 
'--with-pdo-mysql' 
'--with-pcre-regex' 
'--with-mhash' 
'--with-pic' 
'--with-zlib-dir' 
'--with-ttf' 
'--with-openssl' 
'--with-png-dir' 
'--with-libdir=lib64' 
'--without-pdo-sqlite' 
'--without-sqlite' 

uname -a打印:

Linux ip-*-*-*-* 2.6.34.7-56.40.amzn1.x86_64 #1 SMP Fri Oct 22 18:48:49 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux 

的PHP通过PHP-FPM对0.9.5 nginx的运行

+1

的'nginx'重新启动脚本,不值得信任。杀死服务器,然后重新启动。 – mario 2011-03-20 13:05:52

通过静态链接我在php可执行文件中需要的扩展来解决这个问题,现在一切正常。服务器不会加载xdebug扩展。

对于要加载的扩展,你必须有一个线,如下面的一个:

extension=apc.so 

php.ini(或任何其他.ini文件) PHP使用的文件。


如果延期正确加载,当你使用dl(),这意味着你的扩展是OK (无错版或者类似的东西)

下一步,所以是:

  • 确保您已经添加了extension=...行到php.ini文件
  • 确保你修改的权利php.ini文件

你可以检查使用哪个php.ini文件:它显示在phpinfo()的输出中。


注:一些Linux发行版,在CLI中使用的php.ini文件是不一样的一个与Apache的所使用的(不知道使用nginx的一个)

+0

php.ini配置正确。我还为系统扫描了其他php.ini文件,但那是唯一的。 – Nekuromento 2011-03-21 10:08:37

转到在php.ini从phpMyAdmin的文本编辑器中打开并搜索文件;延长= php_soap.dll,只是删除;符号和重启后你WAMP/XAMP服务,然后刷新您的网址page..enjoy

+0

为什么phpmyadmin? – 2015-08-24 10:32:18

+0

有了这个模块你phpMyAdmin的工具的所有优点: 导入和导出数据(CSV,SQL) 浏览和管理数据库表,视图,字段,索引 执行SQL查询在DB 搜索还有更多... 所有功能都直接从您的Magento后端提供,只需几分钟即可完成安装,并且免费! – 2015-08-24 11:59:39

+0

我知道phpmyadmin是什么。但这与OP的问题有什么关系呢? – 2015-08-24 16:33:11