我已将 CakePHP 3 的新安装复制到网络酒店。在我的本地安装中,它运行没有问题并显示标准启动页面,但在网络酒店上我得到一个空白页面。
如果我将 test.php 放在 /webroot 中,它会毫无错误地显示。
如果我在 webroot/index.php 中包含一个
echo '显示这一行'
就在该行之前
需要目录名(DIR)。 '/config/bootstrap.php';
它被显示。
如果我将 echo 行移到 require 行下方,它将不会显示。
所以错误一定是在 require 行。
根据我在 Google 上找到的信息,我在 webroot/index.php 文件的顶部包含了以下内容:
ini_set('display_errors', 1);
error_reporting(E_ALL|E_STRICT);
当我显示页面时,这给了我以下错误:
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /.../config/bootstrap.php on line 106
config/bootstrap.php 中的第 106 行如下所示:
(new ConsoleErrorHandler(Configure::read('Error')))->register();
正如我在开头所写的,如果我在本地运行相同的设置,我不会收到错误,所以我的猜测是我缺少 php 扩展或网络酒店上的其他内容。
作为尾注,我可以在网络酒店上毫无问题地运行 CakePHP 2。