0

我在修改我的问题时自己想出了这一点,但无论如何我都会用解决方案发布我的原始问题,以防它帮助其他人。

该解决方案与符号链接或 Deployer 无关,但我将保留我的问题,以防有人以类似的方式遇到同样的问题。


我正在尝试在 CentOS 7 服务器上使用Deployer设置 Laravel 5.8 部署。

部署成功。该storage文件夹在我的文件中设置为共享目录deploy.php,因此它将storage文件夹设置为版本之间的持久共享文件夹。它通过storage为发布创建一个指向共享文件夹的符号链接来实现这一点。

有一个当前版本的文件夹/var/www/test-laravel/current,它实际上是一个符号链接,指向最新版本的文件夹(在本例中/var/www/test-laravel/releases/18)。在该文件夹内,该文件storage夹实际上是指向/var/www/test-laravel/shared/storage.

我收到以下错误,

流或文件

在尝试了一些权限/所有者/组的变体之后,出于沮丧,我手动运行chmod -R 777chown -R apache.apache不仅在原始存储文件夹上,而且在所有符号链接文件夹上。

这根本没有改变任何东西。我仍然遇到同样的错误。

我不认为这应该有所作为,但只是为了更好地衡量我已经运行php artisan cache:clear,php artisan view:clearphp artisan config:clear.

4

1 回答 1

0

原来问题出在 SELinux 上。

我禁用了 SELinux,(setenforce 0),之后它就正常工作了。但是,我知道禁用 SELinux 并不可取,因此我重新启用了 SELinux ( setenforce 1),相反,我尝试像这样更改存储文件夹上的标签,

chcon -R -t httpd_sys_rw_content_t storage

那行得通!没有更多的权限问题。

于 2020-06-25T03:00:07.207 回答