Php URL路径不工作,绝对路径不工作
我切换了主机提供商,现在出现了以下问题 函数,Php URL路径不工作,绝对路径不工作,php,path,fastcgi,absolute-path,Php,Path,Fastcgi,Absolute Path,我切换了主机提供商,现在出现了以下问题 函数,imagecreatefromjpeg(),正在尝试从文件的URL路径()读取文件。此函数在旧安装程序上运行,但在新安装程序上失败,并出现以下错误 (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server Premature end of script headers: index.php 当我将URL路径替换为同一文件的绝对路径时,问题就消失了
imagecreatefromjpeg()
,正在尝试从文件的URL路径()读取文件。此函数在旧安装程序上运行,但在新安装程序上失败,并出现以下错误
(104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server
Premature end of script headers: index.php
当我将URL路径替换为同一文件的绝对路径时,问题就消失了
我能看到的区别是
function selfURL(){
$server1 = $_SERVER['HTTPS'];
$server2 = $_SERVER['SERVER_PROTOCOL'];
$server3 = $_SERVER['SERVER_PORT'];
$server4 = $_SERVER['SERVER_NAME'];
$s = empty($server1) ? '' : ($server1 == "on") ? "s" : "";
$protocol = strleft(strtolower($server2), "/").$s;
$port = ($server3 == "80") ? "" : (":".$server3);
return $protocol."://".$server4.$port;
}
function strleft($s1, $s2){
return substr($s1, 0, strpos($s1, $s2));
}
print(selfURL());
如果未使用“$port”,则可以替换它是否确实相应地配置了nginx Web服务器?以下是一些很好的教程,可以解释一些更相关的nginx和php fastcgi process manager常见的陷阱:
我链接这些资源是因为您的重写引擎似乎配置错误。无论如何,请提供更好的上下文 当我运行cron时,我在服务器上遇到了这个问题 以下是基于类似的话题我可以说的 1) 页面在~/之类的位置加载 2) 您可以参考位于~/../private/hello/derp.php的另一个页面 3) 在derp.php内部,假设您是从~/../private/hello/'运行文件的 4) 实际上,您是从~/运行它的 5) 文件引用是错误的,因为PWD是错误的 我的东西很烦人,但当我深入研究它时,我意识到它试图从~/../private/hello/images/hi.jpg之类的东西加载东西,而实际上,由于PWD,它在~/images/hi.jpg中查找不存在的东西 也许这对你有帮助。我希望是这样 编辑你还想知道很多时候~/。因为你可以与~/不同。公众的。这也是需要注意的
尝试通过bash脚本正确使用终端变量。您可能已经遇到过它,但在做一些研究时,我发现。它可能与您的.htaccess有关。您是否检查过您的.htaccess以确保没有来自旧主机的自定义php处理程序?这里“读取文件”的确切含义是什么?您正在执行一个
include()
/require()
?上面的错误来自函数imagecreatefromjpeg(),当它试图读取作为参数提供的图像路径时。正确的PHP版本应该是5.3.27(更准确地说是5.5.1)。5.3.3已有3年以上的历史,并存在多个安全问题,这些问题已在以后的版本中修复。人们真的不应该使用这个非常旧的版本!尤其不应降级。您可以始终使用魔法常量\uuuu DIR\uuu
使用当前文件存储的目录,并使用它创建绝对路径。这样,你就不会陷入那个陷阱。还要注意,cronjob不一定继承为登录shell配置的完整环境。通常只有一个基本的设置,任何路径都应该是绝对的——否则命令会失败,因为它们找不到。该死的。每天学习新的东西。哈哈。谢谢你的指点。