php - Cron 使用户在许可下公开
问题描述
环境:
我正在运行一个带有自定义 cron 作业的 wordpress 站点,使用crontab -e
.
在我的 php 文件中,我有以下执行函数:
require('/var/www/html/wp-load.php');
define('WP_USE_THEMES', false);
if (!empty($argv[1])) {
switch ($argv[1]){
case 'init':
chmod_or_mkdir_function();
break;
}
}
问题:
如果我通过正常的 wp 路由(而不是通过 cronjob)运行这个函数(chmod_or_mkdir_function()
),它工作得很好。但是,当我通过 cronjob 运行它时,我得到chmod(): Operation not permitted in
或folder is not writable
错误。
权限已设置为775
,它们仅在我更改为 时才起作用777
,出于安全原因,我真的不想这样做。
我猜:
我的猜测是,当我通过 cronjob 调用我的 php 文件时,不知何故我不被视为admin
也不被group
视为public
.
我将如何解决这个问题?
解决方案
通常,Wordpress 在网络服务器的用户(例如 apache)下运行,而您就是您。您可以将文件所属的组更改为您和 Wordpress 都属于的组。由于该文件已经是组可写的(775),因此将其组更改为您都是其中的成员应该可以解决问题。您可以使用 chgrp 命令:
chgrp newgroup file
如果您的文件实际上是一个目录,请输入 -R 以使其递归:
chgrp -R newgroup file
推荐阅读
- c++ - C++ 运算符重载???不是更像override吗?
- arrays - 比较字符串 angular 6 的动态数组
- python - 模块“熊猫”没有属性“滚动应用”
- azure-service-fabric - Azure ServiceFabric ImageStoreService 故障
- css - 如何强制 CSS url 尊重 webpack 的 publicPath 设置?
- excel - 如何通过 VBA 过滤一个项目的切片器?
- excel - 从 Excel VBA-检查访问表是否存在/如果不存在,则创建/复制
- r - 使用 ONE x 变量将 Y 值下降到所需值
- python - 如何在 web 上的 python 烧瓶中从 AWS s3 读取文件
- python - 扁平化 Marshallow / SQLAlchemy Schema 上的数据