所以我使用Google App Engine Launcher在我的本地计算机上进行了开发,一切正常,然后我上传了它,突然它停止了工作。这是我正在谈论的代码:
包括/ require_login.php:
<?php
session_start();
if (!isset($_SESSION["username"]) or !isset($_SESSION["userId"])) {
require "/templates/login.htm"; //This works locally
exit();
}
?>
submitlink.php:
<?php
require "includes/require_login.php";
require "templates/submitlink.htm"
?>
require_login.php中的require无效,但输出此错误:
Warning: require(/templates/login.htm): failed to open stream: No such file or directory in /base/data/home/apps/e~seminarfach-abi-links/1.388897696415952665/includes/require_login.php on line 4 Fatal error: require(): Failed opening required '/templates/login.htm' (include_path='.;/base/data/home/apps/e~seminarfach-abi-links/1.388897696415952665/;/base/data/home/runtimes/php/sdk') in /base/data/home/apps/e~seminarfach-abi-links/1.388897696415952665/includes/require_login.php on line 4
我也尝试了以下选项,所有这些都导致了这个错误(我认为):
require "../templates/login.htm"; //This dosen't work on my local maschine.
require "/../templates/login.htm"; //This works locally
只是说清楚:require_login.php文件位于名为includes的文件夹中。它尝试打开一个名为login.htm的文件,该文件位于templates文件夹中,该文件夹不在包含文件夹中,但与包含文件夹位于同一级别。
答案 0 :(得分:0)
我会做以下事情:
require __DIR__."/../templates/login.htm";
您不希望具有前导/因为它指向文件系统的根目录。如果您不包含__DIR__
,那么php将搜索相对于初始请求首次访问的任何文件。