2014-01-28 55 views
0

上下文:我已經創建了一個網店的商店搜索,該網站在1300家商店中列出了它的數據庫。用戶輸入他們的郵政編碼,並返回給他們最近的10家商店,以便對銷售正在廣告的產品的商店進行郵政編碼。未能在'posts_per_page'=> -1

下面的代碼(php)是我一直用來進行初始搜索的,它正在尋找自定義分類中的數據並創建一個數組以便稍後使用該數據來進一步計算距離。

 // If lat & lng supplied, find the 10 nearest stores 

    if(isset($_GET['lat']) && isset($_GET['lng'])){ 

     $latlng = true; 
     global $wp_query; 

     // If the country has been set, add it to the query 
     if(isset($_GET['country']) && $_GET['country'] == "true"){ 

      if($_GET['ss'] == "UAE"){ 
       $countryname = "United Arab Emirates"; 
      } else { 
       $countryname = $_GET['ss']; 
      } 

      $args = array_merge($wp_query->query, array('posts_per_page' => -1, 
                 'meta_key' => 'latitude', 
                 'store-country' => $countryname)); 

     } else { 
      $args = array_merge($wp_query->query, array('posts_per_page' => -1, 
                 'meta_key' => 'latitude')); 
     } 





     //echo $wp_query->found_posts; 

     query_posts($args); 

上面的代碼是直接低於<?php get_header(); ?>

正在發生的事情是頁面的標題是裝載和只有標題的頁面的其餘部分加載失敗。

我發現這個問題與這條線在這裏存在的:

$args = array_merge($wp_query->query, array('posts_per_page' => -1, 

如果我設置posts_per_page設置爲400或下面的代碼,任何開始工作的信息被帶回並在頁面繼續就好了,我我只是無法帶回我需要的所有條目。如果我的參賽人數少於400人,那麼就不會有問題,但是我需要能夠帶回1300個參賽作品,並且隨着產品被添加到更多商店,這個數量還會不斷增加。

據我所知,-1應該帶回所有沒有pagenation的條目,但一些失敗,我被迫給posts_per_page一個具體的數字,這似乎是不合理的考慮環境。

它一直在我的本地主機上正常工作,它只是在網站已經生活時發生,我被引導認爲它必須是由我的主機提供商的服務器設置的東西,但我不會知道他們會是什麼,或者如果確實如此。

回答

1

如果我設置posts_per_page設置爲400或下面的代碼開始任何工作

這表明,我認爲這是一個超時問題。您的生產服務器可能有一定的限制,您的本地服務器沒有,這就是爲什麼你沒有看到這個問題。如果你有權訪問php.ini,你可以嘗試增加max_execution_timememory_limit,看看是否有幫助。

+0

根據info.php,內存限制似乎大於在本地主機上分配的內容,但max_execution_time似乎較低,因此這可能是我將向服務器管理員提出的問題。當我測試這個時,我會回覆。 – MrBiggRJD

+0

由於我無法訪問php.ini文件,我不得不與服務器支持聯繫,他們將'max_execution_time'增加到240,問題仍然存在。 memory_limit設置爲128M。 – MrBiggRJD