gpt4 book ai didi

php - 无法在实时服务器中将 shell_exec 用于 laravel artisan 命令

转载 作者:搜寻专家 更新时间:2023-10-31 21:21:43 26 4
gpt4 key购买 nike

我正在使用 shell_exec 命令在后台运行我的 artisan 命令。但是当我在生产服务器中运行 shell_exec 时。

路由代码如下

Route::get('/test/exec', function () {
echo shell_exec('php ../artisan migrate:status 2>&1; echo $?');
});

它抛出如下错误。

PHP Fatal error: Cannot redeclare class Illuminate\Support\Traits\Macroable in /var/www/production/bootstrap/cache/compiled.php on line 6109 255

但是当我在本地运行相同的命令时,我得到了输出。

  • Laravel 版本 - 5.1.46
  • PHP 版本 - PHP 5.5.9
  • 操作系统版本 - ubuntu14.04

这些在两台服务器上都是相同的。哪里出了问题。请有人帮我解决这个问题。

最佳答案

对于此错误尝试运行以下命令:

php artisan clear-compiled
php artisan optimize

这应该重新生成 compiled.php 文件。

至于从代码中执行 artisan 命令,有比使用 shell_exec 更好的方法 - for example using Laravel build in support for programmatically executing commands

关于php - 无法在实时服务器中将 shell_exec 用于 laravel artisan 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46319012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com