我正在按照本地机器上 Laradock 的官方文档设置 laradock(多个项目的设置)。
安装后,我通过工作区容器 bash 安装了 laravel。我确实在nginx/sites/目录和文件中为应用程序配置了配置/etc/hosts文件。
在访问开发网址时,我收到以下错误消息:
流或文件“/var/www/laravel-api/storage/logs/laravel.log”无法在追加模式下打开:无法打开流:权限被拒绝
我只是试图将我的Laravel项目更改为在Nginx而不是Apache上运行,并且无法获得正确的权限.真的不知道下一步该尝试什么.目前他们在这里:

我甚至将777权限授予了存储文件夹,但没有任何作用.我在博客上有一个管理面板,总是不断投掷
ErrorException in File.php line 190:
chmod(): Operation not permitted
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助.
我使用的是Nginx,PHP 7.0,MySQL.该网站使用Laravel框架编写.
我遵循了这个赞成的答案并执行了以下操作:
sudo chown -R my-user:www-data /var/www/domain.com/
sudo find /var/www/domain.com/ -type f -exec chmod 664 {} \;
sudo find /var/www/domain.com/ -type d -exec chmod 775 {} \;
sudo chgrp -R www-data /var/www/domain.com/storage /var/www/domain.com/bootstrap/cache
sudo chmod -R ug+rwx /var/www/domain.com/storage /var/www/domain.com/bootstrap/cache
Run Code Online (Sandbox Code Playgroud)
一切正常,但是每当一个目录(在存储目录中)由 my-user 而不是 www-data 用户创建时,网络服务器就无法写入它,反之亦然。除非我在创建目录后重新运行这些命令。
注意:有时我使用 my-user 创建目录运行命令,有时使用 www-data 用户创建目录。(在存储目录中)。
此外,my-user 已经在 www-data 组中。
如何避免权限错误?无需再次运行所有这些命令。
我正在学习laravel,并且在开始时我已经执行了命令
php artisan serve
Run Code Online (Sandbox Code Playgroud)
并保持我的终端窗口打开,以便我可以保持服务器运行,但后来我想使用我的应用程序,就像在正常的PHP应用程序上工作一样,所以我创建了一个指向我的laravel应用程序"public"文件夹的虚拟主机.
这是问题所在:
我仍然需要运行"php artisan serve"并打开我的虚拟服务器URL
http://brk.localhost:8000
Run Code Online (Sandbox Code Playgroud)
然后关闭终端,所有这一切之前,我可以正常打开此链接而不定义端口号8000.如果我离开我的电脑并返回继续工作,我发现我无法访问它,除非我做整个过程再次.如果我对任何应用程序视图进行了修改,我会遇到同样的问题.
我错过了什么?
Laravel 6 在 phpunit.xml 中包含了一些额外的配置:
<server name="APP_CONFIG_CACHE" value="bootstrap/cache/config.phpunit.php"/>
<server name="APP_SERVICES_CACHE" value="bootstrap/cache/services.phpunit.php"/>
<server name="APP_PACKAGES_CACHE" value="bootstrap/cache/packages.phpunit.php"/>
<server name="APP_ROUTES_CACHE" value="bootstrap/cache/routes.phpunit.php"/>
<server name="APP_EVENTS_CACHE" value="bootstrap/cache/events.phpunit.php"/>
Run Code Online (Sandbox Code Playgroud)
如果我在 PHPStorm 中运行测试,我会收到以下错误:
在 PackageManifest.php 第 168 行:
bootstrap/cache 目录必须存在且可写。
但是 bootstrap/cache 目录确实存在且可写。但是,如果我在 phpunit.xml 中注释掉这些新配置,我的测试运行时不会出现任何错误。我该如何解决?
我也跑了php artisan cache:clear。没运气。
这几天我一直在为这个问题揪心。
我有一个 Laravel Web 应用程序,我正在尝试将其部署到我的网络服务器。我几周前开始制作该应用程序,并从最新稳定版本的全新 Laravel 安装开始。
当我第一次尝试通过 Composer 安装 Laravel 时,它告诉我我的 PHP 版本已经过时。我需要 7.3 或更高版本并安装了 7.2。我继续按照本指南安装 php 7.4。
起初,我在 Apache 中收到默认的 503 服务不可用错误,我能够将其确定为另一个域虚拟主机上的 ProxyPass 错误。当我检查 Apache 错误日志时,这已显示在其中。
现在,我只是禁用了该网站,因为它已经有一段时间没有使用了。
这样做后,我现在得到一个样式为“500 | 服务器错误”的屏幕,它与 Laravel 默认错误代码屏幕相匹配。但是,storage/logs/laravel.log当我去检查时没有新的错误。如果我尝试运行 artisan 命令,因为php artisan migrate日志确实将这些错误的输出正确写入文件。所以根本无法写入日志并不是权限错误。
就目前情况而言,我已经在我的网络服务器上安装了以下内容。
到目前为止我已经尝试过...
.env已成功创建并具有正确的权限。(确实如此)trueinconfig/app.php并重新加载配置缓存php artisan config:cache …首先,根据计算器,什么是错与权限发生此问题bootstrap/cache和storage目录。我尝试了几乎所有的建议,但都没有运气。
我很高兴在我的旧笔记本电脑上使用 Xubuntu 16.04,开发了一个项目。使用docker-compose建立开发环境。昨天我买了全新的 PC,安装了 Kubuntu 18.04,安装了 docker 以及我需要工作的一切。
克隆库,然composer install,docker-compose up,然后php artisan migrate和php artisan storage:link。但是当我尝试在浏览器中打开网站时,我收到 500 错误,并带有空正文响应。
APP_DEBUG 设置为 true。
6 小时后,我来到这里,结果几乎为零。尝试了在这里和论坛上找到的数十种解决方案(仅示例)。
我什至做了一个小实验:从我的旧笔记本电脑中删除项目目录,从头开始克隆它,安装所需的一切并且它工作正常。没有任何权限问题。
更让我失望的是:docker 容器中没有日志,laravel 目录中没有日志,什么都没有。
请帮忙!怎么了?也许是库本图?也许是 18.04?也许它是较新的docker版本?
PS 现在bootstrap/cache,storage目录由拥有alex:alex并拥有 775 权限。和我的笔记本电脑完全一样。
我尝试在heroku上安装我的应用程序。该应用程序是带有“护照”进行身份验证的php-laravel应用程序。在我的本地计算机(mac os)上一切运行正常。
当我尝试对邮递员进行简单的“发布”时,出现以下错误:
2018-03-17T17:05:22.059708 + 00:00 app [web.1]:[2018年3月17日17:05:22 UTC] [2018-03-17 17:05:22]生产。错误:密钥路径“ file:///app/storage/oauth-private.key”不存在或不可读{“ exception”:“ [object](LogicException(code:0):关键路径\” file:/// app / storage / oauth-private.key \“不存在,或在/app/vendor/league/oauth2-server/src/CryptKey.php:45)处不可读”] []
要设置护照,我用生成了密钥:
PHP的工匠护照:安装
我在heroku的数据库中看到了密钥。因此该命令正常运行。
那么这是什么错误呢?
我也尝试过重新生成密钥,以停止并重新启动应用程序。没有成功。
感谢您的建议。谢谢
多米尼克
编辑:实际上,密钥文件不是在文件夹app / storage中生成的,这就是为什么出现此错误的原因。但是为什么不生成这些文件?
我使用的是Ubuntu 22.04以及最新版本的Docker Desktop (4.11.1)和Laravel Framework 9.26.1。
我尝试按照https://laravel.com/docs/9.x#getting-started-on-linux中列出的步骤创建一个新的 Laravel 项目。
当我运行时,./vendor/bin/sail up终端没有显示任何错误。但是当我尝试访问 http://localhost/ Laravel 时显示此UnexpectedValueException:
The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied The exception occurred while attempting to log: The stream or file "/var/www/html/storage/logs/laravel.log" …Run Code Online (Sandbox Code Playgroud) 尝试调用CLI命令时,使用EC2实例时遇到了一些问题。我正在使用Laravel,但我不能完全确定这是Laravel问题还是EC2。
当我将ssh放入EC2实例时,我运行以下laravel命令来迁移数据库:
php artisan migrate
我得到以下错误:
PHP致命错误:无法打开消息“流或文件“ /var/app/current/storage/logs/laravel.log”的未捕获异常'UnexpectedValueException':/ var / app中无法打开流:权限被拒绝/current/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107
然后我运行sudo php artisan migrate并得到一个完全不同的错误:
[PDOException] SQLSTATE [HY000] [2002]没有这样的文件或目录
然后我php artisan migrate再次运行,一切都按预期工作!
任何人都知道是什么导致了这种行为,或者我怎么可能会发现错误?
注意:EC2是运行PHP 5.5的64位Amazon Linux 2016.03 v2.1.4
我正在创建一个脚本来启动我的Laravel 5.8项目
#Install dependencies
composer self-update
composer install
# create .env base on .env.example
cat .env.example > .env
#permission
chmod -R 777 .env
#create the key
php artisan key:generate --force
cat .env
#set permission
chmod -R 777 bootstrap/ vendor/ storage/ public/
sleep 1
#clear cache
php artisan config:cache
php artisan cache:clear
composer dump-autoload
php artisan clear-compiled
php artisan key:generate
python -mwebbrowser http://127.0.0.1:8000
php artisan serve
Run Code Online (Sandbox Code Playgroud)
这条线似乎不起作用。
php artisan key:generate --force
Run Code Online (Sandbox Code Playgroud)
看看我的.env
?? bheng cat .env
APP_ENV=local
APP_URL=http://bheng.test/
APP_DEBUG=true
APP_KEY=***
CODE=### …Run Code Online (Sandbox Code Playgroud) laravel ×10
php ×6
artisan ×2
docker ×2
laravel-5 ×2
nginx ×2
ubuntu ×2
amazon-ec2 ×1
apache ×1
dockerfile ×1
frameworks ×1
heroku ×1
laradock ×1
laravel-5.8 ×1
laravel-6 ×1
laravel-7 ×1
laravel-8 ×1
laravel-sail ×1
linux ×1
php-7 ×1
phpunit ×1