我试图将我的ZF2项目移动到Web服务器。我从本地计算机复制了以下内容:/ config,/ data,/ module,/ public,/ vendor和init_autoloader.php。 Apache Virtual Host设置为指向/ public文件夹。当我尝试运行应用程序时,浏览器返回错误
致命错误:未捕获的异常' Zend \ Loader \ Exception \ InvalidArgumentException'使用消息' Autoloader类Zend \ Loader \ StandardAutoloader必须实现Zend \ Loader \ SplAutoloader'在/var/www/vhosts/.../vendor/zendframework/zendframework/library/Zend/Loader/AutoloaderFactory.php:91堆栈跟踪: #0 /var/www/vhosts/.../vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/AutoloaderListener.php(34):Zend \ Loader \ AutoloaderFactory :: factory(Array) #1 [内部函数]:Zend \ ModuleManager \ Listener \ AutoloaderListener-> __ invoke(Object(Zend \ ModuleManager \ ModuleEvent)) #2 /var/www/vhosts/.../vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468):call_user_func(Object(Zend \ ModuleManager \ Listener \ AutoloaderListener),Object(Zend \ ModuleManager) \ ModuleEvent)) #3 /var/www/vhosts/.../vendor/zendframework/zendframework/library/Zend/EventManag in /var/www/vhosts/.../vendor/zendframework/zendframework/library/Zend/Loader/AutoloaderFactory。第91行的PHP
有什么建议吗?感谢。
答案 0 :(得分:2)
此错误是由于您的服务器上的旧版本PHP。 5.3.3是不够的。您应该了解限制:
2.3.0 requires php >=5.3.23
2.4.0 requires php >=5.3.23
你可以在php5.3.3上使用zend framework 2.2.10。修改您的application/composer.json
"require": {
"php": ">=5.3.3",
"zendframework/zendframework": "~2.2"
}
然后运行php composer.phar install
,它将重新安装您的框架:
>php composer.phar install
Loading composer repositories with package information
Installing dependencies (including require-dev)
- Removing zendframework/zendframework (2.4.0)
- Installing zendframework/zendframework (2.2.10)
Downloading: 100%
Writing lock file
Generating autoload files