PHP扩展未在phpinfo中加载

Vid*_*idi 6 php imagick php-extension gmagick

所以我在Mountain Lion上运行MAMP并且我已经使用pecl安装了gmagick和imagick,两者都是相关候选者(主要是因为gmagick没有稳定版本而且想象力3.0.0没有安装,它给出了一个make错误).当我在终端中运行php -i但不在phpinfo()中时出现模块,我检查了php.ini两者都是一样的,所以这不是问题.但是我已经安装了bitset(这是一个稳定的版本) )它出现在phpinfo()和php -i中.所以我的问题是PHP有没有任何配置选项,如果它们不稳定,它们不会加载扩展?顺便说一句,在更改了ini文件后,我确实重启了我的服务器.

Mar*_*ahl 6

您现在可能在您的计算机上安装了两个php.Mountain Lion附带预装的php版本.尝试locate php.ini在终端找出安装了多少php.inis.

在你的phpinfo()页面中还注意到哪个php.ini正在使用中.您可能想要打开用于phpinfo()的确切php.ini并确保加载扩展.应该有两行像 extension=/path/to/gemagicext/gmagic.so extension=/path/to/imagick/imagick.so


pal*_*dot 5

我遇到了与php-fpm和nginx服务器类似的问题.问题是由于更新的php配置没有反映在当前活动的php-fpm工作进程中.我必须手动的FPM过程,并再次重新启动它有更新的扩展信息.

对我有用的步骤:

1)寻找活跃的php-fpm进程

 ps ax | grep "fpm"
Run Code Online (Sandbox Code Playgroud)

大多数情况下,这将列出多个进程

2)手动杀死进程

kill -9 [pid_got_from_previous_command]
Run Code Online (Sandbox Code Playgroud)

3)重启php-fpm进程

sudo service php5-fpm start
Run Code Online (Sandbox Code Playgroud)

注意:尝试类似sudo service php-fpm reloadsudo service php-fpm restart不起作用的东西,因为旧的子进程保留了旧配置.杀死活动进程并重新启动php fpm为我更新了phpinfo.

  • 你是对的。另一种解决方案是重新启动服务器,但您的解决方案更好。(无停机时间) (2认同)