在Apache 2.4.6(来自CentOS 7存储库的最新版本)中我试图将所有PHP文件传递给特殊编译的PHP-FPM,以防#34; php7.enable"文件存在于网站的根目录中。
如果我试试这个:
$ jq --arg newname 'something' '(.z[] | select(has("name")).name) = $newname' input.json
条件有效,但RewriteRule行上的%{DOCUMENT_ROOT}未扩展为变量值,但每次都为空。奇怪的是,那就是"如果"块,扩展工程。 有没有人知道为什么以及如何使它工作? 感谢。
答案 0 :(得分:0)
我找到了解决问题的解决方法:
<FilesMatch "\.php$">
Require all granted
<If "-f '%{DOCUMENT_ROOT}/php7.enable'">
SetHandler proxy:fcgi://127.0.0.1:9001
</If>
</FilesMatch>
所以我根本不需要DOCUMENT_ROOT值,它完美无缺。 如果我把&#34; php7.enable&#34;文件到网站的DOCUMENT_ROOT,PHP-FPM(运行PHP7)正在解释所有PHP文件。如果在DOCUMENT_ROOT中找不到这样的文件,则使用Apache处理程序让PHP解释(OS内置)PHP5。
感谢所有想法,它帮助我找到解决问题根本原因的方法(在配置文件中使用VirtualDocumentRoot,DOCUMENT_ROOT可能没有正确填写)。
在这个问题中也可以看到 - Mass virtual hosting with Apache 2.4