基于以下问题,我遇到了问题: Module cannot be initialized zf3 ...
正如在这个问题中所提到的,我在生产服务器上使用composer进行了dump-autoload,并下载了用于在我的计算机上本地工作的项目。
当我加载“http://localhost/myproject”时,一切正常,我可以访问这两个模块。 当我加载“http://production-server/myproject”(我在那里进行转储自动加载)时,没有显示任何内容,我得到了
未捕获的Zend \ ModuleManager \ Exception \ RuntimeException:Module (博客)无法初始化。在 /srv/www/htdocs/zf3/vendor/zendframework/zend-modulemanager/src/ModuleManager.php:203
堆栈追踪:
#0 /srv/www/htdocs/zf3/vendor/zendframework/zend-modulemanager/src/ModuleManager.php(175): 的Zend \ ModuleManager会\ ModuleManager-> loadModuleByName(对象(的Zend \ ModuleManager会\ ModuleEvent))
#1 /srv/www/htdocs/zf3/vendor/zendframework/zend-modulemanager/src/ModuleManager.php(97): 的Zend \ ModuleManager会\ ModuleManager->加载模块( '博客')
#2 /srv/www/htdocs/zf3/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): 的Zend \ ModuleManager会\ ModuleManager-> onLoadModules(对象(的Zend \ ModuleManager会\ ModuleEvent))
#3 /srv/www/htdocs/zf3/vendor/zendframework/zend-eventmanager/src/EventManager.php(171): 的Zend \ eventmanager进行\ EventManager-> triggerListeners(对象(的Zend \ ModuleManager会\ ModuleEvent))
#4 /srv/www/htdocs/zf3/vendor/zendframework/zend-modulemanager/src/ModuleManager.php(120): Zend \ EventManager \ EventManager-> triggerEvent(Object in Zen in /srv/www/htdocs/zf3/vendor/zendframework/zend-modulemanager/src/ModuleManager.php 在第203行
两个apache2-servers之间似乎存在差异(两者都在PHP7上)。
有人知道要搜索什么吗?
答案 0 :(得分:0)
当composer进行转储自动加载时,它会将文件写入项目。
我在机器上全局安装了作曲家,以便将他用于不同的项目。
似乎作曲家在文件上设置了错误的权利。 我在整个项目中尝试了chmod 777以获得解决此问题的提示,现在它可以正常工作。
我现在将autoload.php设置为755,它仍然有效。
服务器之间的区别在于权限管理,您必须在最初创建后更改autoload.php的权限。