2017-07-17 64 views
0

我在我的服務器上的web服務目錄中調用vanilla Wordpress函數時遇到了一些問題。在wordpress根目錄以外的webservice中使用WordPress功能

我有這樣的結構:

Root 

- webservice 
- - service.php 
- wordpress 
- - wordpress-root 

我開始與谷歌這個問題,並找到這樣一些解決方案...

require($_SERVER['DOCUMENT_ROOT'].'/wordpress-root/wp-load.php'); 

require($_SERVER['DOCUMENT_ROOT'].'/wordpress-root/wp-blog-header.php'); 

我加入這些行放到我的service.php中。 現在我的瀏覽器開始我重定向到以下URL並拋出一個錯誤 wp-admin/install.php

The requested URL /wp-admin/install.php was not found on this server. 

難道有人有一個堅實的解決這個問題?

//編輯

調試後想通了,重定向是在function.php

/* 
* Loop over the WP tables. If none exist, then scratch install is allowed. 
* If one or more exist, suggest table repair since we got here because the 
* options table could not be accessed. 
*/ 
$wp_tables = $wpdb->tables(); 
foreach ($wp_tables as $table) { 
    // The existence of custom user tables shouldn't suggest an insane state or prevent a clean install. 
    if (defined('CUSTOM_USER_TABLE') && CUSTOM_USER_TABLE == $table) 
     continue; 
    if (defined('CUSTOM_USER_META_TABLE') && CUSTOM_USER_META_TABLE == $table) 
     continue; 
    // Error throw after this lines 
    if (! $wpdb->get_results("DESCRIBE $table;")) 
     continue; 
+0

因此,如果您導航到'/ WordPress的根/'會發生什麼? – WheatBeak

+0

@WheatBeak'require($ _ SERVER ['DOCUMENT_ROOT']。'/ wordpress-root /');'拋出一個錯誤「Warning:require」... – Pommesloch

+0

您的WordPress安裝必須是有效的,然後才能從另一個目錄。 – WheatBeak

回答

0

重定向到install.php了發生的這行代碼後扔在WordPress的認爲這是一個新的安裝。當wordpress無法在數據庫中找到特定條目時,就會發生這種情況。 (選項表與option_name =='siteurl')

打開文件functions.php並搜索函數is_blog_installed。然後調試爲什麼這個函數認爲wordpress沒有安裝。

我的猜測是配置文件無法讀取或某些變量爲空。檢查是否有正確的文件權限。

您也可以嘗試通過腳本設置變量。另請參閱site_url函數。

+0

謝謝。這是一個很好的暗示。重定向似乎在這行代碼之後。 'if(!$ wpdb-> get_results(「DESCRIBE $ table;」)) \t \t \t繼續;' – Pommesloch

0

嘗試

define('WP_USE_THEMES', false); 
require($_SERVER['DOCUMENT_ROOT'].'/wp-blog-header.php') 

define('WP_USE_THEMES', false); 
require($_SERVER['DOCUMENT_ROOT'].'/wp-load.php') 

https://wordpress.stackexchange.com/q/47049/10911

+0

謝謝您的幫助,但那並沒有解決我的問題。 – Pommesloch