我遇到了自己的 PHP 请求问题。在示例中,我将使用file_get_contents()
但同样会发生exec('wkhtmltopdf [*SELF*]')
orcurl()
- 让我们命名我的服务器 example.com
- 已安装 apache2
- FastCGI(多个 PHP 版本 5.3、5.4、5.5、5.6、7.0)
- 现在我有 2 个虚拟脚本
第一个脚本
//get-html.php
file_get_contents('http://example.org/index.html')
第二个脚本
//get-php.php
file_get_contents('http://example.org/index.php')
测试
1) 命令行:php get-html.php
// 成功
2) 浏览器:example.org/get-html.php
// 成功
1) 命令行:php get-php.php
// 成功
2) 浏览器:example.org/get-php.php
//超时
我接下来尝试了什么
- 创建子域,例如为和 for
subdomain.example.org/index.php
拥有不同的 PHP 版本get-php.php
index.php
- 修改 /etc/hosts
- 在其他网站(如 google.com)上请求 // 成功
- file_get_contents() 之前的 session_write_close() 和之后的 session_start() 也不起作用
所以我的嫌疑人是 mod_fastcgi。似乎 apache 无法运行 2 个实例来处理来自自身的 PHP 请求。从命令行运行脚本按预期工作。
有人有什么建议吗?