php - 如何从 ssh 和/最终 cron 运行 wordpress php 片段 mysql 更新命令
问题描述
我正在尝试使用安全外壳运行存储在 wordpress 插件 PHP Snippet 中的 SQL 更新命令脚本来测试它,目的是使用 tsohost 从 cron 作业中调用相同的命令。
下面的 PHP 片段
global $wpdb;
global $current_user;
get_currentuserinfo();
$user_id = $current_user->ID;
$result = $wpdb->get_results("
INSERT INTO dm_cash_accounts_transactions (name, amount, type, cash_account_id, user_id)
SELECT
name,
quantity * amount,
type_id,
account_id,
user_id
FROM
dm_scheduledd
WHERE
paydate = DATE(NOW())
AND
dm_scheduledd.user_id = '".$user_id."'
AND
updated = 'n'
");
print_r($result);
我可以使用简码从网页运行上述代码段
[wbcr_php_snippet id="14984" title="Update Cash Accounts Transactions"]
我正在努力使用安全外壳运行上述脚本。我尝试了多种选择
bash-3.2$ wget -O /dev/null --no-check-certificate https://dividendmanager.co.uk/update-cash-accounts-transactions
上面的命令似乎运行正常,但没有更新数据库表。我想我需要一个命令来登录数据库并调用 PHP 片段,任何建议表示赞赏。谢谢科林
解决方案
如果那是一个 php 一个独立的 php 文件,你应该加载 wp 全局引导类,请在文件开头包含 wp-load.php;
我不认为$current_user
bash 也可以检索到,这与用户会话有关
推荐阅读
- visual-studio-code - Why I'm getting diff node.js versions reported?
- c# - Send JSON data to REST API with sub payloads
- c++ - How to check that two arbitrary memory ranges are not overlapped in c/c++
- php - 由于 PHP、Apache 版本导致的 PHP 错误?
- java - 使用 Java 客户端在 Google 数据存储上的 CompositeFilter 的 CompositeFilter
- unity3d - Unity-在滚动背景上向左移动对象
- javascript - Chart.js - 仅在重新加载画布后才呈现字体
- c - XCB xcb_window_t VS xcb_drawable_t
- r - 在数据帧上使用素数函数运行应用
- oracle - 用触发器阻止数据库写入