为什么PHP不能用nginx重新编译?

时间:2018-04-23 22:52:17

标签: php nginx centos7 recompile

PHP没有正确重新编译。

我在Centos 7上使用php-fpm在Nginx上安装了PHP 7.2。我正在使用./configure,make clean,make,make test和make install重新编译带有更多选项的php。

  

除了更新的php之外,一切运行良好且不会抛出任何错误   编译没有反映在phpinfo();表。如果你看到了   "构建日期" 它没有改变。重新编译后,"配置命令" 也没有更新。

为什么php不能重新编译,"构建日期" 没有更新,而"配置命令" 也没有反映我的变化?

我重新启动了nginx,重新启动了php-fpm,但仍然没有变化。我可以编辑php.ini文件也没有问题,他们会更新,但我重新编译并添加更多选项(--with-openssl)后,PHP本身不会更新。我甚至重新启动了服务器。 PHP文件很好。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

  

我在大约半天后才弄清楚

新的php重新编译未被识别的原因是因为我需要手动将新更新的php-fpm程序复制到/ usr / local / bin目录,如下所示:

cp sapi/fpm/php-fpm /usr/local/bin

并修复了它。因此基本上php WAS正在被重新编译,但是系统没有看到,因为php-fpm没有被手动复制到nginx用于从中提取php-fpm的目录。在关闭php-fpm时必须覆盖该文件。

  

奖金提示

这是我重新编译后重新加载php,php-fpm和nginx的命令:

# gracefully stop the php-fpm process
pkill -15 php-fpm

# copy the new recompiled php-fpm to the executable directory
cp -f sapi/fpm/php-fpm /usr/local/bin

# start php-fpm
/usr/local/bin/php-fpm

# signal nginx to reload
nginx -s reload

全部在一行:

pkill -15 php-fpm && cp -f sapi/fpm/php-fpm /usr/local/bin && /usr/local/bin/php-fpm && nginx -s reload