我已将CakePHP 3的新安装复制到webhotel。在我的本地安装上它运行没有问题并显示标准启动页面,但在webhotel上我得到一个空白页。
如果我在/ webroot中放置test.php,它会显示没有错误。
如果我在webroot / index.php中包含一个 echo'显示此行' 就在排队之前 需要dirname( DIR )。 ' /config/bootstrap.php' ;; 它会显示出来。
如果我将回波线移动到要求线下方,它将不会显示。
所以错误必须是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-extension或webhotel上的其他内容。
作为尾注,我可以在webhotel上运行CakePHP 2而没有任何问题。
答案 0 :(得分:6)
看起来你的webhotel正在运行PHP< 5.4。 CakePHP 3至少需要PHP 5.4.16才能正常运行。
您可以查看以下链接,查看支持PHP> = 5.4
的主机列表答案 1 :(得分:0)
谢谢。我错过了。根据您的评论,我检查了网站,并在.htaccess中使用以下内容:
AddType application/x-httpd-php56 php
我用CakePHP3附带的.htaccess替换了webhotel上的.htaccess。