运行“make install”进行 PHP(Apache 模块)升级是否安全?

运行“make install”进行 PHP(Apache 模块)升级是否安全?

我在 Apache (2.2.17) 服务器上运行 PHP (5.3.3) 作为 Apache 模块。

PHP 5.3.5 已经编译好了,我可以直接运行make install安装新的 PHP 库吗?还是应该在执行此操作之前停止服务器?我想避免后者(停止服务器),因为还有很多对静态内容(不是 PHP)的请求。

在发表评论之前,我很确定升级不会破坏任何 PHP 脚本。

答案1

不可以,在现有的正在运行的安装上安装 PHP(模块)并不安全。这可能会使您的 Web 服务器处于不稳定状态。在覆盖现有的 PHP 安装之前,应先停止 Web 服务器。

在 Web 服务器运行时升级 PHP 的说明

如果您的网站同时提供静态内容和 PHP 内容,请考虑删除下一行httpd.conf以禁用 PHP:

LoadModule php5_module        modules/libphp5.so

如果未加载 php5_module,则拒绝访问扩展名为“.php”的文件(每次安装时都应存在该文件以防止源暴露):

<IfModule !php5_module>
    <FilesMatch "\.(php|phtml)$">
        Order allow,deny
        Deny from all
    </FilesMatch>
</IfModule>

然后重新加载你的 Apache 配置:

# /usr/local/apache2/bin/apachectl graceful

从源目录安装 PHP:

# make install

此命令也应该将一个添加LoadModule php5_module modules/libphp5.so到文件中httpd.conf,检查它是否已添加不会有任何损害。

最后重新加载配置以再次启用 PHP 支持:

# /usr/local/apache2/bin/apachectl graceful

答案2

然后继续重新启动服务器就好了make install,我自己以前也这样做过。

为了安全起见,请务必对以前的 php 库执行 tar,以防升级不顺利!;)

相关内容