在最近部署PHP应用程序时,我们遇到错误,例如“调用未定义的方法......”,当检查ftp后该方法显然在文件中时。
关于它的一个奇怪的部分是,如果我们编辑作曲家自动加载文件:vendor/autoload.php
和vendor/composer/autoload_static.php
文件,字面意思是在文件中的某处放置一个空格或换行符。然后,这些方法突然解决了。
任何人都知道发生了什么事?
在ubuntu 16上使用Apache2.4,使用php-fpm到php 5.6.31。
此外,如果它有帮助,我们在4个不同的虚拟主机上的服务器上拥有相同的代码库。
尝试过:
正在运行composer dump-autoload
正在运行composer update
从网页运行opcache_reset()
更有趣的是,当我们从两个自动加载文件中删除换行符时,它会再次中断。就好像自动加载文件已在某处缓存并通过哈希或其他东西来识别。