gpt4 book ai didi

php - 我可以向同一台服务器发出 CURL 请求吗?

转载 作者:IT王子 更新时间:2023-10-29 01:24:10 28 4
gpt4 key购买 nike

我需要实现一种方法来对位于同一服务器或另一服务器上的页面进行 POST 调用。我们不能使用 include,因为我们调用的文件通常调用不同的数据库或具有相同名称的函数。

我一直在尝试使用 curl 来实现这一点,虽然它在从另一台服务器调用文件时工作得很好,但在调用文件所在的同一台服务器时我什么也得不到。

编辑添加一些代码:我正在做的事情的简化版本:

文件1.php

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "www.myserver.com/File2.php");
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>

文件2.php

<?php
echo "I'M IN!!";
?>

调用 File1.php 后,我什么也得不到,但如果 File2.php 在另一台服务器上,我就会得到一个结果。有帮助吗?

我尝试同时使用服务器 URL (http...) 和文件的总地址 (/home/wwww...)

最佳答案

请注意,如果您向自己的站点发出 CURL 请求,则您使用的是默认 session 处理程序,并且您通过 CURL 请求的页面使用与生成请求的页面相同的 session ,您会陷入僵局。

默认 session 处理程序在页面请求期间锁定 session 文件。当您尝试使用同一 session 请求另一个页面时,后续请求将挂起,直到请求超时或 session 文件可用。由于您正在执行内部 CURL,运行 CURL 的脚本将锁定 session 文件,并且 CURL 请求永远无法完成,因为目标页面永远无法加载 session 。

关于php - 我可以向同一台服务器发出 CURL 请求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5412069/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com