Php 转换到Plesk服务器后include()失败

Php 转换到Plesk服务器后include()失败,php,Php,我刚把一个数据库切换到GoDaddy上的Plesk服务器。现在,我的连接脚本include失败,出现以下错误: PHP警告:include(/rev/scripts/connection.PHP):未能 open stream:中没有此类文件或目录 G:\PleskVhosts\mysite.com\httpdocs\rev\db\u administration\complete\u backup.php 第5行PHP警告:include():打开失败 “/rev/scripts/connec

我刚把一个数据库切换到GoDaddy上的Plesk服务器。现在,我的连接脚本include失败,出现以下错误:

PHP警告:include(/rev/scripts/connection.PHP):未能 open stream:中没有此类文件或目录 G:\PleskVhosts\mysite.com\httpdocs\rev\db\u administration\complete\u backup.php 第5行PHP警告:include():打开失败 “/rev/scripts/connection.php”以供包含 (包括路径='。;。\includes;\pear')

我不知道为什么它会在url前加上“G:\PleskVhosts\”,甚至不知道这是不是让它崩溃的原因。谁能告诉我我做错了什么?这段代码已经运行了很长时间,所以我不知道为什么需要在新服务器上进行更改

对我来说奇怪的是,如果我从浏览器(包括下面的编辑)运行它,它就会工作。但是我需要从计划的任务中运行它,这就是我得到错误的地方

代码如下:

<?php

    $path = $_SERVER['DOCUMENT_ROOT'];
    $connection = $path . '/rev/scripts/connection.php';
    include ($connection);

    echo "success";
?>

查看错误消息
中的包含路径。。。include(/rev/scripts/connection.php).
,看起来
$path
是一个空字符串。谷歌搜索显示,GoDaddy并不总是翻译
$\u服务器['DOCUMENT\u ROOT']正确。尝试将
$\u服务器['DOCUMENT\u ROOT']
替换为
$\u服务器['SUBDOMAIN\u DOCUMENT\u ROOT']

所以本质上是加上,

$path = !empty($_SERVER['SUBDOMAIN_DOCUMENT_ROOT']) ? $_SERVER['SUBDOMAIN_DOCUMENT_ROOT'] : $_SERVER['DOCUMENT_ROOT'];

更新

$\u服务器
在尝试从计划任务(可能是通过
cron
)运行此任务时无法工作。试试这个:

define('DOCUMENT_ROOT', substr(str_replace(pathinfo(__FILE__, PATHINFO_BASENAME), '', __FILE__), 0, -1));

它应该为cron作业获取与
$\u SERVER['DOCUMENT\u ROOT']
相同的数据。

包含路径错误谢谢,但我不明白你的意思。怎么会这样?@usr55410很高兴它能起作用。我也可以投赞成票吗?:)谢谢好吧,这很奇怪。当我从浏览器运行脚本时,它可以工作。但是我需要从他们预定的任务中运行这个。当我从那里调用它时,我得到了这些相同的错误。有什么想法吗?没有。他们的服务器路径的工作方式有些奇怪。假设您在web服务器之外运行计划任务,比如使用
cron
,则有理由不设置
$\u server
,因为没有服务器。我同意。我通过使用相对路径解决了这个问题。在这种情况下,我认为这是唯一可行的办法。谢谢你的帮助。
$path = dirname(__FILE__); // this might or might not work.
define('DOCUMENT_ROOT', substr(str_replace(pathinfo(__FILE__, PATHINFO_BASENAME), '', __FILE__), 0, -1));