第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

通過 CRON 更改 PHP 全局變量

通過 CRON 更改 PHP 全局變量

PHP
喵喵時(shí)光機(jī) 2021-12-24 10:19:22
關(guān)于 PHP、wordpress 和 CRONE 的問題。我無法通過小部件調(diào)用的函數(shù)中的 CRON 過程更改全局變量。$containerregister_activation_hook(__FILE__, 'activate_my_plugin');function activate_my_plugin() {    wp_clear_scheduled_hook('update_container');    wp_schedule_event( time(), 'hourly', 'update_container');}add_action('update_container', 'update_container');function update_container() {    global $container;    // updating container}function use_container() {    global $container;    // !And here we have undefined $container}class acw_widget extends WP_Widget{    // ...     public function widget( $args, $instance )     {        use_container();    }}我正在嘗試在 WP 站點(diǎn)上緩存對(duì) DB 的請(qǐng)求。因此,我決定使用 CRON 來安排請(qǐng)求并將結(jié)果存儲(chǔ)在某個(gè)全局容器中。假設(shè)小部件會(huì)出于其目的從容器中獲取數(shù)據(jù),但我遇到了看起來像“未定義容器”的問題。因此,我激活插件,wp-cron.php 顯示,該容器已更新(在“update_container”處),但在“use_container”中獲取容器顯示,$container 未定義且未更新。請(qǐng)你解釋一下,為什么會(huì)這樣?如何跟蹤初始化/更新全局容器的正確順序?代碼是真實(shí)代碼的簡(jiǎn)化版。也許這很尷尬,但我是 PHP 和 wordpress 的新手,所以這是我找到的解決方案。
查看完整描述

1 回答

?
慕萊塢森

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

您不能使用任何變量 (inc global) 作為數(shù)據(jù)“容器”。因?yàn)?PHP 沒有狀態(tài),所以每個(gè) php 腳本都是“從頭開始”運(yùn)行的。

因此,當(dāng)您的CRON腳本運(yùn)行時(shí) - 它global $container僅針對(duì)當(dāng)前運(yùn)行進(jìn)行更新。然后,當(dāng)您運(yùn)行您的widget功能時(shí) - 它是另一個(gè)“運(yùn)行”,您會(huì)發(fā)現(xiàn)它$container沒有定義。

您需要的不僅僅是使用變量,而是將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中(CRON例如通過相同的腳本)。然后,每次您需要該數(shù)據(jù)時(shí) - 只需從數(shù)據(jù)庫(kù)中獲取即可。

希望能向你澄清一些事情。


查看完整回答
反對(duì) 回復(fù) 2021-12-24
  • 1 回答
  • 0 關(guān)注
  • 135 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)