我已经升级到 Centos 8,发现自己必须应对 Apache 2.4 中的变化。我已经开始让它工作了,但是在 .htaccess
中进行简单设置时遇到了一个令人困惑的错误:
# .htaccess
# PHP Time Zone
php_value date.timezone Australia/Melbourne
我得到了可怕的错误:
The server encountered an internal error or misconfiguration and was unable to complete your request.
联系服务器管理员是没有意义的,因为那是我。
error_log
文件包含以下内容:
Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration
这在过去一直在 Apache 2.4 上有效,当我在 XAMPP 上使用 Apache 2.4 时也同样有效。很明显,其他配置中存在某些问题,可能在 httpd.conf
中导致其崩溃。
我缺少什么设置,或者我应该更改什么设置?
更新
正如下面 @Chi.C.J.RajeevaLochana 的回答,解决方案在于使用正确的 MPM。就我而言,在文件 00-mpm-conf
中:
注释掉
LoadModule mpm_event_module 模块/mod_mpm_event.so
取消注释
LoadModule mpm_prefork_module 模块/mod_mpm_prefork.so
有关更多信息,请参阅:
最佳答案
当您使用 mod_mpm_event 或 mod_mpm_worker 而不是 mod_mpm_prefork 时,您将无法使用 PHP 模块。这是因为 mod_mpm_event 和 mod_mpm_worker 是线程模块。并且PHP模块不是线程安全的。
如果您不确定如何执行此操作,请查看 Soufiane ELH 的教程,该教程应位于此答案的上方/下方。
关于php - Apache 2.4、.htaccess 和 php 指令错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61494247/