PHP 对自己提出要求
PHP request on self
我在 PHP 自我请求时遇到问题。在示例中,我将使用 file_get_contents()
但对于 exec('wkhtmltopdf [*SELF*]')
或 curl()
也会发生同样的情况
- 让我的服务器命名 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
// 超时
接下来我尝试了什么
- 创建像
subdomain.example.org/index.php
这样的子域,以便为 get-php.php
和 index.php
提供不同的 PHP 版本
- 修正/etc/hosts
- 请求其他网站(如google.com)//成功
- session_write_close() 在 file_get_contents() 之前和 session_start() 之后也不起作用
所以我怀疑是 mod_fastcgi。似乎 apache 无法 运行 2 个实例来处理来自其自身的 PHP 请求。作为来自命令行的 运行ning 脚本按预期工作。
有人有什么建议吗?
我没有设置 PHP_FCGI_CHILDREN 默认值 1.
当我通过 apache 从我的服务器调用另一个 PHP 脚本时,它失败了,因为它无法创建另一个 PHP FCGI 实例。
我在 PHP 自我请求时遇到问题。在示例中,我将使用 file_get_contents()
但对于 exec('wkhtmltopdf [*SELF*]')
或 curl()
- 让我的服务器命名 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
// 超时
接下来我尝试了什么
- 创建像
subdomain.example.org/index.php
这样的子域,以便为get-php.php
和index.php
提供不同的 PHP 版本
- 修正/etc/hosts
- 请求其他网站(如google.com)//成功
- session_write_close() 在 file_get_contents() 之前和 session_start() 之后也不起作用
所以我怀疑是 mod_fastcgi。似乎 apache 无法 运行 2 个实例来处理来自其自身的 PHP 请求。作为来自命令行的 运行ning 脚本按预期工作。
有人有什么建议吗?
我没有设置 PHP_FCGI_CHILDREN 默认值 1.
当我通过 apache 从我的服务器调用另一个 PHP 脚本时,它失败了,因为它无法创建另一个 PHP FCGI 实例。