如何解决错误“[ErrorException] file_get_contents(/var/www/laravel/.env): 无法打开流:没有这样的文件或目录”?
How to resolve the error "[ErrorException] file_get_contents(/var/www/laravel/.env): failed to open stream: No such file or directory"?
我在我的机器上使用 Ubuntu 14.04。我安装了作曲家,然后在文档根目录中安装了 laravel 即 /var/www
我还授予 -R 777 文件夹 laravel 权限 [=46] =]
然后我使用 cd /var/www/laravel 和 laravel 进入目录=57=] 下面的命令 php artisan 我在那里看到了所有可用的命令。
然后我输入 php artisan key:generate 得到了错误
[ErrorException] file_get_contents(/var/www/laravel/.env): failed to open stream: No such file or directory
在这里我实际上被卡住了,有人可以在这方面帮助我吗?
谢谢。
将 .env.example 重命名为 .env 并填写所有属性。
https://laravel.com/docs/5.0/configuration#environment-configuration
在您的 laravel 根文件夹中将 .env.example
重命名为 .env
可能您错过了 laravel 项目中的 .env
文件 folder.So 将 .env.example
生成为 .env
文件。同时提供所需的数据库连接。
.env
文件如下所示:(填写所需的数据库连接)
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
希望这会有所帮助 you.Thanks。
.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
文件,您可能会发现它的权限太紧,无法让您的当前用户写入(并且暗示您当前用户正在尝试 php artisan 命令 运行)。我已经将我所有的 Laravel 文件更改为归 www-data:www-data
所有,并使我当前的用户成为 www-data
组的成员,因此这个错误让我有点难过。
但是,我很快意识到我的 .env
文件具有以下权限:
-rw-r--r--
...意味着拥有该文件的用户获得 read-write,但组和世界只能读取。由于我当前用户是组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.
可能有人在寻找答案
所以这是我解决问题的答案
通常复制 .env.example 文件然后重命名它不起作用
所以这是建议
不要那样做
做就是了
cp .env.example .env
在命令 lin
然后更改数据库名称或密码等
我在我的机器上使用 Ubuntu 14.04。我安装了作曲家,然后在文档根目录中安装了 laravel 即 /var/www
我还授予 -R 777 文件夹 laravel 权限 [=46] =]
然后我使用 cd /var/www/laravel 和 laravel 进入目录=57=] 下面的命令 php artisan 我在那里看到了所有可用的命令。
然后我输入 php artisan key:generate 得到了错误
[ErrorException] file_get_contents(/var/www/laravel/.env): failed to open stream: No such file or directory
谢谢。
将 .env.example 重命名为 .env 并填写所有属性。 https://laravel.com/docs/5.0/configuration#environment-configuration
在您的 laravel 根文件夹中将 .env.example
重命名为 .env
可能您错过了 laravel 项目中的 .env
文件 folder.So 将 .env.example
生成为 .env
文件。同时提供所需的数据库连接。
.env
文件如下所示:(填写所需的数据库连接)
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
希望这会有所帮助 you.Thanks。
.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
文件,您可能会发现它的权限太紧,无法让您的当前用户写入(并且暗示您当前用户正在尝试 php artisan 命令 运行)。我已经将我所有的 Laravel 文件更改为归 www-data:www-data
所有,并使我当前的用户成为 www-data
组的成员,因此这个错误让我有点难过。
但是,我很快意识到我的 .env
文件具有以下权限:
-rw-r--r--
...意味着拥有该文件的用户获得 read-write,但组和世界只能读取。由于我当前用户是组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.
可能有人在寻找答案
所以这是我解决问题的答案
通常复制 .env.example 文件然后重命名它不起作用
所以这是建议
不要那样做
做就是了
cp .env.example .env
在命令 lin
然后更改数据库名称或密码等