亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

運行插件時,wordpress 變得無響應

運行插件時,wordpress 變得無響應

PHP
慕無忌1623718 2023-12-15 17:04:03
我創建了一個 woocommerce 插件, 插件本身運行完美。 然而,只要它需要運行,我就會遇到奇怪的性能問題。 僅從登錄并運行插件的瀏覽器完全無法訪問該網站(前端和后端)。 前端和后端都在加載,直到插件完成。 更奇怪的是,它在另一個瀏覽器上運行得很好。這也是在高端專用服務器上運行的,當它運行時,服務器上的負載非常低。有什么線索嗎?require __DIR__ . '/vendor/autoload.php';error_reporting(E_ALL);ini_set('display_errors', 1);include_once($_SERVER['DOCUMENT_ROOT'].'/wp-config.php');use Automattic\WooCommerce\Client;$woocommerce = new Client(woocommerce_api_url, api_key, api_secret,['version' => 'wc/v3','timeout' => '99999',]);echo '<pre>';$db = new DBfdr();$i=0;$page = 1;$products = [];$all_products = [];do{  try {    $products = $woocommerce->get('products',array('per_page' => 100, 'page' => $page));  } catch(HttpClientException $e) {    die("Can't get products: $e");  }  $all_products = array_merge($all_products,$products);  $page++;注意:DBfdr 類包含一個簡單的函數,用于管理與 sql 服務器的 pdo 連接。
查看完整描述

2 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

那段代碼看起來不太好,為什么您需要制作一個從外部加載 wp 的插件,然后通過 Woocommerce Client Api 獲取產品列表,然后循環所有這些來創建 if 條件。


如果您只是在 WP 標準插件結構中傳遞,使用全局 $wpdb 類并通過一些連接執行查詢,那么效率會更高。


也就是說,您面臨的問題可以通過在代碼之前添加以下內容來解決:


ignore_user_abort( true );

        

/* Don't make the request block till we finish, if possible. */

if ( function_exists( 'fastcgi_finish_request' ) && version_compare( phpversion(), '7.0.16', '>=' ) ) {

    fastcgi_finish_request();

}


查看完整回答
反對 回復 2023-12-15
?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

出現問題是因為 wp-config.php 包含在開頭。

wp-config.php 到底有

require_once(ABSPATH . 'wp-settings.php');

它初始化了一些核心的 WordPress 函數,這些函數又“鎖定”了 WordPress 的核心函數。會議。 我設法通過刪除解決了這個問題

include_once($_SERVER['DOCUMENT_ROOT'].'/wp-config.php');

并將其替換為自定義定義


查看完整回答
反對 回復 2023-12-15
  • 2 回答
  • 0 關注
  • 183 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號