2013-03-18 42 views
0

我在上個月使用OpenCart v1.5.5.1,並且有幾十個命令通過罰款。OpenCart突然停止工作:HTTP錯誤500

突然間,今天我訪問www.domain.com/shop/*時得到一個HTTP錯誤500,但www.domain.com工作正常。到目前爲止,我試圖無濟於事:

  • 重啓的.htaccess

去除/logs/error.txt

  • 清理服務器
  • 記錄中的最後一個錯誤是:

    2013-03-17 19:10:11 - PHP Notice: Error: Table 'shop_db.geo' doesn't exist<br />Error No: 1146<br />SELECT g.id,g.full_name,g.name,g.postcode,z.zone_id,z.country_id FROM geo g LEFT JOIN zone z ON g.zone_id = z.zone_id WHERE g.name LIKE '99%' AND g.postcode <> '' ORDER BY population DESC LIMIT 12 in /var/www/domain.com/html/shop/system/database/mysql.php on line 50 
    2013-03-17 19:10:11 - PHP Notice: Error: Table 'shop_db.geo' doesn't exist<br />Error No: 1146<br />SELECT g.id,g.full_name,g.name,g.postcode,z.zone_id,z.country_id FROM geo g LEFT JOIN zone z ON g.zone_id = z.zone_id WHERE g.name LIKE '990%' AND g.postcode <> '' ORDER BY population DESC LIMIT 12 in /var/www/domain.com/html/shop/system/database/mysql.php on line 50 
    

    這裏是的.htaccess

    # 1.To use URL Alias you need to be running apache with mod_rewrite enabled. 
    
    # 2. In your opencart directory rename htaccess.txt to .htaccess. 
    
    # For any support issues please visit: http://www.opencart.com 
    
    Options +FollowSymlinks 
    
    # Prevent Directoy listing 
    Options -Indexes 
    
    # Prevent Direct Access to files 
    <FilesMatch "\.(tpl|ini|log)"> 
    Order deny,allow 
    Deny from all 
    </FilesMatch> 
    
    # SEO URL Settings 
    RewriteEngine On 
    # If your opencart installation does not run on the main web folder make sure you folder it does run in ie./becomes /shop/ 
    
    RewriteBase/
    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L] 
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L] 
    RewriteRule ^download/(.*) /index.php?route=error/not_found [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) 
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] 
    
    ### Additional Settings that may need to be enabled for some servers 
    ### Uncomment the commands by removing the # sign in front of it. 
    ### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that. 
    
    # 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it: 
    # php_flag register_globals off 
    
    # 2. If your cart has magic quotes enabled, This may work to disable it: 
    # php_flag magic_quotes_gpc Off 
    
        # 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try 
        # php_value upload_max_filesize 999M 
    
        # 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields 
        # php_value post_max_size 999M 
    
        # 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields 
        # php_value max_execution_time 200 
    
        # 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields 
        # php_value max_input_time 200 
    
        # 7. disable open_basedir limitations 
        # php_admin_value open_basedir none 
    
        # 8. force the administration log-in screen to always load in HTTPS 
        #RewriteEngine On 
        #RewriteCond %{HTTPS} off 
        #RewriteRule (.*) https://www.overair.ca/shop/admin/ [R] 
    

    和php.ini中

    magic_quotes_gpc = Off; 
    register_globals = Off; 
    default_charset = UTF-8; 
    memory_limit = 64M; 
    max_execution_time = 36000; 
    upload_max_filesize = 999M; 
    safe_mode = Off; 
    mysql.connect_timeout = 20; 
    session.use_cookies = On; 
    session.use_trans_sid = Off; 
    session.gc_maxlifetime = 172800; 
    allow_url_fopen = on; 
    ;display_errors = 1; 
    ;error_reporting = E_ALL; 
    

    不過,我注意到他們已經存在了,沒有問題的最後幾天。在從備份中恢復並丟失一些命令之前,我希望有人能夠提供幫助。

    謝謝你的時間!

  • +0

    確保你的'error_reporting'設置爲'E_ALL'(我注意到這條線在你顯示的ini中被註釋掉了),如果服務器返回500,它應該記錄錯誤,告訴你爲什麼,你顯示的錯誤信息肯定不是問題的根源 – DaveRandom 2013-03-18 17:07:20

    +0

    @DaveRandom謝謝。我設置並查看了/shop/system/logs/error.txt下的日誌,但沒有記錄,是否有另一個日誌位置? – OverAir 2013-03-18 17:19:11

    +0

    我對你的服務器在這裏設置的方式做了一些相當認真的假設,但它是一個相當常見的設置:在這種情況下,這可能是Apache錯誤,而不是任何opencart代碼的錯誤,並且日誌是在某種行政區域創建的,很可能是您的主機無法訪問的。您應該聯繫您的主機並要求他們告訴您哪裏可能有其他日誌位置,並要求他們檢查全局錯誤日誌。 – DaveRandom 2013-03-18 17:24:05

    回答

    0

    錯誤編號。 1146表示它正在嘗試連接的表,不在數據庫中,您可能需要檢查數據庫並查看該表是否存在,並檢查config.php。我希望你可以找出最新的問題!