Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP端口问题_Php - Fatal编程技术网

PHP端口问题

PHP端口问题,php,Php,我使用一个PHP脚本来检测一个引用URL是否是代理。这是一个非常简化的版本,但效果非常好 问题是,我试图在另一个web服务器上使用相同的脚本,但出于某些原因,我没有在脚本上进行复制。我现在做的是使用获取文件内容 我的问题是,当我使用get\u file\u contents时,它会将其检测为代理。有没有其他办法,比如改变端口 <?php $stop = file_get_contents("http://mysite.com/file.php"); echo $stop; ?>

我使用一个PHP脚本来检测一个引用URL是否是代理。这是一个非常简化的版本,但效果非常好

问题是,我试图在另一个web服务器上使用相同的脚本,但出于某些原因,我没有在脚本上进行复制。我现在做的是使用获取文件内容

我的问题是,当我使用get\u file\u contents时,它会将其检测为代理。有没有其他办法,比如改变端口

<?php $stop = file_get_contents("http://mysite.com/file.php"); echo $stop; ?>


任何帮助都会很好,谢谢

file\u get\u contents
使用远程URL与本地URL非常不同——您实际上是在
mysite.com
上运行脚本,只需在本地服务器上获取该脚本的输出。这实际上会将另一个HTTP请求发送到
mysite.com
,因此该请求的引用方与原始请求的引用方不同。

这是跨域完成的还是在您自己的域内完成的?非常确定您不能使用file()函数跨另一个域访问文件。使用PECL SSH2。我可以很好地访问该文件,只是它把它作为一个不好的参考。“有没有简单的方法改变端口?”Alexwhin——正如tandu在评论中所说的那样——使用PECLSSH2@Alexwhin:简单的解决方案是将脚本复制到本地服务器。如果您不能这样做,您可以使用手动发送HTTP请求并指定您自己的referrer值(请参阅),但仍然发现它是错误的引用。@Alexwhin:该脚本是否真的使用HTTP referrer或其他内容,例如IP地址?如果它使用IP地址,您无法从自己的服务器使其工作,因为IP将始终与原始请求的IP不同。它使用:if(@fsockopen($\u server['REMOTE\u ADDR'],80,$errstr,$errno,1)){