【发布时间】:2015-08-14 17:29:47
【问题描述】:
我和我的同事正在尝试将本地 git 存储库用于我们的 Laravel 项目。 我使用的是带有 PHP 5.5.9-1ubuntu4.9 的 Ubuntu,而他使用的是带有 PHP 5.4.39 的 Debian。
当我拉取他提交的版本时,我在尝试运行 composer update 时遇到错误:
user@ubuntu:/var/www/frontend$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Generating autoload files
PHP Fatal error: Class 'Illuminate\Support\Arr' not found in /var/www/frontend/vendor/laravel/framework/src/Illuminate/Support/helpers.php on line 182
Script php artisan clear-compiled handling the post-install-cmd event returned with an error [RuntimeException]
Error Output: PHP Fatal error: Class 'Illuminate\Support\Arr' not found in /var/www/frontend/vendor/laravel/framework/src/Illuminate/Support/helpers.php on line 182
我们在 git 上有供应商文件夹,因为没有它不是我们的选择。
我猜问题是不同的php版本。有没有办法手动设置php版本,让composer得到正确的依赖?
【问题讨论】:
-
我不建议在一个项目中使用两个不同的 PHP 版本。这将长期破坏事情。简单示例:如果您运行
composer update并添加需要 PHP 5.5 及更高版本的库版本,则此更新将不会在您的同事 PHP 上运行。始终使用应该在生产中使用的 PHP 版本!也可以在所有开发机器上使用它 - 这将减少令人不快的意外。
标签: php git laravel dependencies composer-php