php 命令行权限,php – 设置用户权限| Artisan命令不会在代码中运行,但在命令行上运行正常...

我有一个路径,它本质上是一个运行Artisan命令的“钩子”,它接受一些get参数作为参数:

Route::get('hook', function()

{

$param = Input::get('param');

Artisan::call('myCommand', array('param' => $param));

}

myCommand只是在根目录中创建一个名为param的目录和一个hello.txt文件.

我可以使用php artisan myCommand param1运行myCommand,它按预期工作.我也可以使用Artisan的tinker命令并完全运行Artisan :: call().

但是,当我通过访问URL(例如example.com/hook\u0026amp;param=hello)尝试命令时,我的命令不会按预期创建任何内容.如果它也有帮助,我在Laravel Forge上尝试这个.在我的本地开发机器上一切正常.

知道什么是错的吗?

解决方法:

您可以通过设置文件夹的权限

chmod 777 -R /path/to/folder

你绝对不应该做的事情,因为每个人都可以在之后编写并执行此目录中的所有内容

或者,我希望你创建一个新组,让我们称之为用户组:

sudo groupadd usergroup

既然该组存在,请将两个用户添加到其中:

sudo usermod -a -G usergroup

sudo usermod -a -G usergroup www-data

现在剩下的就是设置目录的权限:

sudo chgrp -R usergroup /path/to/the/directory

sudo chmod -R 770 /path/to/the/directory // <<<<<< change this to 775

现在,只有用户组组的成员才能读取,写入或执行目录中的文件和文件夹.注意chmod和chgrp命令的-R参数:这告诉他们递归到目标目录的每个子目录并修改每个可用的文件和目录.

如果您希望其他人能够读取文件,您可能还希望将770更改为774(775),如果您希望其他人读取和执行文件,则可以更改775等.在用户注销之前,组分配更改将不会生效然后回来.

在你的情况下,你应该明确地将它改为775 ……

标签:php,laravel,permissions,laravel-4

来源: https://codeday.me/bug/20190926/1820638.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值