【问题标题】:Warning: failed to open stream: Invalid argument in C:\xampp\htdocs\WWW\index.php on line 17警告:无法打开流:第 17 行 C:\xampp\htdocs\WWW\index.php 中的参数无效
【发布时间】:2017-02-14 05:45:11
【问题描述】:

我的网站有错误,当我试图将我的项目从服务器迁移到本地主机时,它在下面的 index.php 和 config.php 中出现错误,

警告:

require_once(/C:/xampp/htdocs/wwwC:/xampp/htdocs/www/system/startup.php): 无法打开流:中的参数无效 C:\xampp\htdocs\www\index.php 第 17 行

require_once(DIR_SYSTEM . 'startup.php');

我的 config.php,

$root = '/C:/xampp/htdocs/www';
$url = 'http://localhost/www/';
$projectpath = '';
$path = str_replace("index.php","",str_replace($root, "",$_SERVER['SCRIPT_FILENAME']));
$url2= $url.$path;
$rootfolder = $root.$path;
define('HTTP_SERVER', $url2);// HTTPS define('HTTPS_SERVER', $url2);   

// DIR
define('ROOT_APPLICATION', $root .$projectpath);
define('PROJECT_PATH', $projectpath);
define('MAIN_URL', $url.$projectpath);
define('ROOT_URL', $url2);
define('DIR_APPLICATION', $rootfolder.'catalog/');
define('DIR_SYSTEM', $rootfolder.'system/');
define('DIR_LANGUAGE', $rootfolder.'catalog/language/');
define('DIR_TEMPLATE', $rootfolder.'catalog/view/theme/');
define('DIR_CONFIG', $rootfolder.'system/config/');
define('DIR_IMAGE', $root.$projectpath.'image/');
define('DIR_CACHE', $rootfolder.'system/storage/cache/');
define('DIR_DOWNLOAD', $rootfolder.'system/storage/download/');
define('DIR_LOGS', $rootfolder.'system/storage/logs/');
define('DIR_MODIFICATION', $rootfolder.'system/storage/modification/');
define('DIR_store', $rootfolder.'system/storage/');
define('TEMPLATE_PATH', $root.$projectpath);

【问题讨论】:

  • 我认为文件 startup.php 不在文件夹中,或者常量 DIR_SYSTEM 可能有问题。请检查常量。
  • 好的,谢谢,我会检查的。
  • 你好,我没有得到我的错误。在我检查之后。
  • 我认为为变量 $root 分配的值是错误的。在您发生的错误中,是 require_once(/C:/xampp/htdocs/ecompusellC:/xampp/htdocs/ecompusell/system/startup.php): 这里的路径是磨损的。这种路径是没有机会的。请将 $root 更改为 null 并检查一下。
  • 管理面板没有运行得到同样的错误,我的网站主页不能像我的实时服务器一样正常工作。

标签: php mysql opencart2.x


【解决方案1】:

这行代码就是问题所在:

$path = str_replace("index.php","",str_replace($root, "",$_SERVER['SCRIPT_FILENAME']));

它创建一个完整(绝对)路径而不是相对路径。

添加到:

$rootfolder = $root.$path; // '/C:/xampp/htdocs/ecompusell' . 'C:/xampp/htdocs/ecompusell/system/startup.php'

如您在 cmets 中所见,创建双绝对路径。

而且该路径不存在。

解决方案

一个解决方案是只使用 $path 变量:

$rootfolder = $path; // 'C:/xampp/htdocs/ecompusell/system/startup.php'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    相关资源
    最近更新 更多