在通过Laravel Forge部署我的应用程序时,我遇到了以下错误:
Fatal error: Class 'IlluminateSupportArr' not found in
/home/forge/toono.co/vendor/laravel/framework/src/Illuminate/Support/helpers.php
on line 151
这是在composer update
命令运行之后。我已经将SSH放入目录中,然后查看,文件Arr.php
不存在。
代码是从BitBucket中的master分支中提取的,然后在生产服务器上执行以下行:
cd /home/forge/default
git pull origin master
composer install
php artisan migrate --force
Composer.json:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"require": {
"laravel/framework": "4.2.*"
},
"require-dev": {
"way/generators": "2.*",
"fzaninotto/faker": "1.4.*@dev",
"barryvdh/laravel-debugbar": "1.*",
"flynsarmy/csv-seeder": "1.0.*"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan debugbar:publish",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
}
Composer.lock:
"require": {
"codesleeve/stapler": "~1",
"laravel/framework": "~4",
"php": ">=5.4.0"
}
为什么composer update
错过了那个文件?在本地更新之后,甚至在Github的master分支上,Arr.php
是否存在?
如果我缺少您需要的任何必要代码,请告诉我。
如有任何帮助,我们将不胜感激。
我通过删除生产服务器中的composer.lock
和vendor
文件夹解决了这个问题。然后我使用composer update
。
我通过命令行(sshforge@ip.of.server)
如果您不知道如何通过ssh连接到服务器,那么可以使用forge->server->ssh密钥。
在那里添加您的公钥(如果您还没有设置ssh密钥,请遵循以下指南:https://help.github.com/articles/generating-ssh-keys)。
如果设置了ssh密钥,只需打开终端并粘贴以下命令即可运行;"pbcopy<~/.ssh/id_rsa.pub",这将把您的公钥复制到剪贴板,您只需将其粘贴到forge中的ssh密钥字段中即可。
现在我可以通过ssh进入服务器了。
然后我导航到默认文件夹(cd/home/forge/default)并运行"composer-update"
它更新了所有内容,并在那之后发挥了作用。