我是Laravel的新手,并试图从5.2"快速启动" https://laravel.com/docs/5.2/quickstart-intermediate#introduction的说明。它告诉我早点这样做:
git clone https://github.com/laravel/quickstart-intermediate quickstart
cd quickstart
composer install
php artisan migrate
但是只是在指令的一点点,各种各样的失败都出现了。我尝试过多台机器,操作系统等;永远不会让快速入门工作。然后我买了一本书(它仍然是无名的),它有更详细和非常不同的指示,但也没有用。我试着有没有宅基地;与阿帕奇或不;和各种其他变化。
毋庸置疑,这并没有鼓励对Laravel的信心。在这里和一般的搜索,发现其他类似的问题,但没有答案。
那么:为什么指令不起作用?特别是"官方"那些,特别是那些最基本的"入门"处理?
或者更好:有没有人知道做工作的指示?
答案 0 :(得分:1)
我只是继续按照你发布的指示行事,你是对的;默认情况下,他们缺少几个步骤。将存储库克隆到您想要的任何文件夹并运行composer install
后,您需要配置.env
文件以正确匹配您在主机上使用的设置。具体而言,需要在php artisan migrate
成功运行之前配置以下行:
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
除非您的数据库名为homstead
且用户为homestead
且密码为secret
,否则迁移功能将失败。
修改后,下一步是更改项目的storage
和bootstrap/cache
文件夹的权限。它们必须(至少)由应用程序写入。你可以使用
chmod 775 -R storage
chmod 775 -R bootstrap/cache
// Use 775 should do it, but 777 will (though I don't recommend the use of 777)
设置完成后,您应该能够成功运行php artisan migrate
。请注意,在更改权限之前,该功能可能会失败,但无法告诉您(因为您的storage/logs
文件夹不可写。
完成这些步骤后,您现在可以导航到http://localhost/quickstart/public
,您应该会看到以下屏幕:
我通常做的最后一件事是将public
文件夹符号链接到我的webroot中的某些内容,这样我就不必每次都访问quickstart/public
:
ln -s /var/www/html/quickstart/public /var/www/html/quick
因此,正如您所看到的,安装和使用部门的说明有点缺乏,但我从早期版本的Laravel中学到了这些技巧,到目前为止他们已经安装了Laravel 5.2应用程序
希望能为您提供一些见解,但如果您需要其他任何清理,请告诉我。
答案 1 :(得分:0)
我最终发现了至少一个主要问题:
5.2 doc告诉您使用的“git clone”命令,克隆不兼容的 5.1 代码!
这在代码中并不明显(特别是如果你是新的)例如,代码中没有任何地方说“5.1”(这似乎是一件非常明显的事情)。此外,并不是URI明确指向错误的版本; URI根本就没有提到URI(我一个人会期望这样的URI会得到最新的版本) - 使用明确的URI会更安全,所以如果doc中的URI错了,那么显然 错误。
当我远远地看到5.2 doc在一个地方“引用”代码时,我就抓住了:
class User extends Authenticatable
{
// Other Eloquent Properties...
但是git clone给我的实际代码是:
class User extends Model implements AuthenticatableContract,
AuthorizableContract,
CanResetPasswordContract
{
use Authenticatable, Authorizable, CanResetPassword;
然后我开始检索该文档的其他版本,直到找到与该代码匹配的版本(结果是5.1)。
希望其他人能够找到这一点,而不是以同样的方式被烧毁。