我在我的机器上使用Ubuntu 14.04。我安装了composer,然后在文档根目录中进行了laravel,即/ var / www
我还给目录/ var / www中存在的文件夹laravel -R 777权限
然后我使用cd / var / www / laravel进入目录laravel并运行以下命令php artisan并且我在那里看到所有可用的命令。
然后我输入php artisan key:generate并得到错误
[ErrorException] file_get_contents(/var/www/laravel/.env): failed to open stream: No such file or directory
谢谢。
在你的laravel根文件夹中将.env.example
重命名为.env
.env
文件尚未出现,因为您首先需要创建和配置它。
请执行下列操作
# Navigate to the correct folder
$ cd /var/www/laravel
# Copy the example file to make a .env file
$ cp .env.example .env
# Set the parameters
$ vi .env
将.env.example重命名为.env并填充所有属性。 https://laravel.com/docs/5.0/configuration#environment-configuration
可能你错过了你的laravel项目文件夹中的.env
文件。所以让.env.example
到.env
文件。还提供所需的数据库连接。
.env
file看起来像这样:(填写所需的数据库连接)
APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomString
APP_URL=http://localhost
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
希望这会对你有所帮助。谢谢。
如果像我一样,你确实有一个.env
文件,你可能会发现它的权限太紧,不允许你当前的用户写入它(并暗示你当前用户试图运行的php artisan命令)。我已将所有我的Laravel文件更改为www-data:www-data
所有并使我当前的用户成为www-data
组的成员,因此对此错误感到有点困惑。
但是,我很快意识到我的.env
文件具有以下权限:
-rw-r--r--
...意味着拥有该文件的用户获得了读写权限,但该组和世界只能读取。由于我当前的用户是www-data
组的成员,因此它只能读取而不能写入。
(您可以通过执行$ ls -la
来检查您的文件权限)
如果你有相同的情况,你有两个选择;放松该文件的文件权限(使用chmod
)或使用sudo
运行您的php artisan命令。我选择后者,因为这是我的生产服务器,我喜欢严格的权限。
您可以创建它并重新运行该命令。
# cd /var/www/laravel
# cp .env.example .env //renames .env.example to .env
# php artisan key:generate
Application key set successfully.