我在共享服务器上安装了 ZF2。它在本地主机上完美运行,但在共享服务器上出现此错误:
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/content/82/5123082/html/tmp/ZendSkeletonApplication/public/index.php on line 12
Parse error: syntax error, unexpected T_STRING in /home/content/82/5123082/html/tmp/ZendSkeletonApplication/public/index.php on line 12
index.php第12行代码:
Zend\Mvc\Application::init(include 'config/application.config.php')->run()->send();
账户运行的 PHP 版本: PHP 5.3.13 (cli)(内置:2012 年 5 月 14 日 16:26
使用的 Linux 服务器是: Linux ...secureserver.net ... #1 SMP Fri Jul 15 08:15:44 EDT 2011 i686 i686 i386 GNU/Linux CentOS 5.5 版(最终版)
我没有使用 doctorine - 它现在甚至不加载 Skeleton 应用程序 - 就好像命名空间有问题一样,它不会加载它。好像运行的PHP版本不是PHP 5.3。
知道我做错了什么吗?我尝试通过 Composer 安装它并从我的本地机器上传一个有效的解决方案,但都没有成功..
最佳答案
显然,服务器在 SSH 控制台中运行 PHP 5.3,但是 Apache 服务器仍在使用 PHP 5.2,因此无法使用命名空间。
因此,即使帐户是为“PHP 5.3”设置的,也需要更改 .htaccess 以支持它。
为了解决这个问题,将以下行添加到/public/文件夹中的 .htaccess 文件中:
AddHandler x-httpd-php5-3 .php
关于php - 设置 Zend Framework 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12221431/