php artisan optimize在composer install时超时

6

我正在Azure上运行一个Laravel应用程序。事情正在朝着正确的方向发展,composer安装以前根本无法工作。但是现在,“php artisan optimize”命令超时了:

Running composer install makes php artisan optimize time out

然而,单独运行“php artisan optimize”并没有任何问题:

Running only php artisan optimize is no problem

这可能是什么原因引起的? 编辑: 删除 symfony 文件夹并不能解决问题,当我运行“Composer install”命令时它不存在。

Symfony folder is not present

增加超时限制也没有帮助,我在Azure和composer.json文件中都增加了它:

composer.json file Settings in Azure

在重新安装Symfony组件后,我仍然遇到超时问题:

Symfony installing

...

Arriving at php artisan optimize again

2000 second timeout


您可以尝试增加超时时间,参见https://dev59.com/xWMk5IYBdhLWcg3w2BXJ。这可能不是一个解决方案,但值得一试,看看是否给予更多时间是否能够成功完成,或者是否完全卡住。 - Mark Davidson
看起来其他人之前也遇到过这个问题。 - Mark Davidson
是的,抱歉,我应该提到我已经尝试过这个了。我正在获取截屏,等一下。 - Rkey
好的,目前正在等待“超时2000秒”消息,这需要一些时间 X) - Rkey
更新了带有图片的内容,展示了其他修复方法无法解决问题。 - Rkey
5个回答

1
作为一个有用的助手,以下是您需要翻译的内容:

当我在Azure Web应用程序上部署了一个新的干净的Laravel 5应用程序并尝试重现您的问题时,无论我运行php artisan optimizecomposer installcomposer update命令,都可以正常工作。

我在Azure Web应用程序的KUDU控制台站点的站点扩展中安装了composer,URL应该类似于:https://<your_site_name>.scm.azurewebsites.net/SiteExtensions/#gallery

其他开发人员遇到与您相同的问题的解决方案有几个,您可以尝试这些解决方案:


啊,我表达不清楚,非常抱歉。我已经尝试了这两件事情,我会上传它们的截图。请稍等。 - Rkey

0

@Rkey, 根据我的经验,我认为这个问题更与symphony的版本/配置有关。我建议你可以从composer.lock文件中移除/编辑symphony的配置(注意:如果操作失败,请先备份该文件,以便恢复环境)。然后运行"composer install"命令。 enter image description here

安装组件后,你会看到一个弹出窗口显示:

your session is timeout, please refresh your browser.

您可以看到此信息是因为服务器正在初始化过程中。如有任何疑问,请随时告知。


你可能有所发现,但我不明白你所说的“从composer.lock文件中删除/编辑交响乐配置”的意思。composer.lock文件超过3000行,也许你是指composer.json文件?无论哪种情况,你所说的composer.lock/composer.json文件的哪些部分? - Rkey
@Rkey,我只想更新symphony组件。你能否尝试使用“composer update symfony/symfony”来更新你的组件?然后你可以使用“composer install”命令。 - Will Shao - MSFT
如果我在/home/site目录下运行"composer.phar update symfony/symfony",它只会给我返回"process [9476] terminated! Press ENTER to start a new cmd process." =/ - Rkey
@Rkey,我会深入研究这个问题并稍后回复您。 - Will Shao - MSFT
@Rkey,我已经回复了指出的当前事实,请您如有任何进一步的疑虑,请随时告知。 - Ming Xu - MSFT

0

根据我对这个问题的理解,@Rkey和@cabs,我想指出Composer在Azure上并未得到充分支持。问题在于它使用了被阻止在Azure上的Taskkill命令。我们已经意识到了这一点,请随时根据使用Azure的经验提交想法或建议,网址是https://feedback.azure.com/forums/34192--general-feedback


我甚至很确定是我发现了taskkill在Azure上无法工作的问题。我花了几天时间与Azure支持团队一起解决这个问题,最终得出结论并告诉了他们。然而,我认为这可能仍然是答案。我认为发生的情况是优化确实完成了,但最后一步是taskkill安装程序。由于taskkill被阻止,错误消息认为我们仍然处于优化状态,并表示超时的操作是优化。 - Rkey
那么,现在总结一下吧。目前没有解决方案。 - Rkey

0

我也遇到了这个问题。升级计划会有帮助吗?

根据this的说法,升级到S3会有所帮助...不过我还没有尝试过...如果真的有效,请告诉我。


@Rkey,这个问题有什么更新吗?我的意思是,你成功解决了吗?我也遇到了同样的问题。 - cabs
我相信他们遇到了不同的问题。如果仅仅升级到S3有所帮助,增加超时的最大时间也应该有所帮助。即使处理能力非常差,也不应该在2000秒后超时,而且由于我可以在“composer install”命令之外自由运行优化,因此其他问题应该是原因。 - Rkey

0

我也被这个问题困扰了一个星期。 尝试了论坛上的所有解决方案,但都没有成功。 今天早上重新安装XAMPP后终于解决了。问题出在我之前使用的PHP版本5.6.19上。而使用新的带有PHP版本5.6.28的XAMPP时,它可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接