2013-06-27 75 views
-1

我一直在嘗試在AWS上配置最近三天的FRAPI框架。我已經配置管理面板沒有錯誤,但由於某種原因,API部分不起作用。但是,我可以訪問API主頁,它將拉動在管理面板中創建的操作。 (請參閱http://www.serverstars.net/Frapi API爲正確的操作url拋出500錯誤,否則拋出ERROR_INVALID_ACTION_REQUEST

這是奇怪的事情:如果我輸入一個不存在的動作url,則會出現FRAPI「ERROR_INVALID_ACTION_REQUEST」錯誤。但是,如果我輸入實際的動作url,則會出現500錯誤。 (見http://www.serverstars.net/get/banned/36.json

API的虛擬主機配置:

<VirtualHost *:80> 
    ServerName serverstars.net 
    ServerAlias www.serverstars.net 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/frapi/src/frapi/public 

    <Directory /var/www/frapi/src/frapi/public> 
     AllowOverride All 
     Order deny,allow 
     Allow from All 
    </Directory> 
</VirtualHost> 

爲在/ var/WWW/frapi/src目錄/ frapi /公共

RewriteEngine On 
RewriteRule ^.*$ index.php [QSA,NC,L] 

我的重寫的.htaccess懷疑RewriteRule導致了問題,或者可能是MySQL conn,但我懷疑SQL連接會拋出500錯誤。

您的幫助非常感謝!

回答

1

通過查看API的其他部分,主要是設置的默認API調用,我們可以看到重寫規則工作正常。

http://www.serverstars.net/collection/foo.json

的問題是可能駐留在或者是選擇從MySQL查詢數據和把它放入$這 - >數據變量,或者模型問題存在於PHP和MySQL之間。

雖然我不能給你一個直接的答案,我建議你看看下面:

  1. 確保所有權限都通過查看正確設置:http://frapi.github.io/installing/index.html#frapi.installing.configuring.apache
  2. 打印從結果直接收到它和使用模具()後的MySQL查詢(是,嘗試打印和模具調試),
  3. 在你禁止採集控制器,嘗試刪除MySQL查詢,並把一個模擬變量是回。這將確認重寫規則是否到達您的控制器,
  4. 如果模擬變量返回正確刪除SQL查詢及其結果後,查看調試SQL查詢返回的值以及如何選擇相關數據從中。
  5. 如果全部失敗,請確保您在apache端有日誌,並且還要查看PHP錯誤日誌。如果您沒有啓用php-error-logs,請將此添加到您的php中。INI:

    的error_log =的/ tmp/php_error_log

現在,這並不直接回答你的問題,但希望它會幫助你達到你正在尋找:-)

+0

感謝答案你,大衛!我精神疲憊不堪,但你的建議會給我一個調試問題的好機會!我會盡力記住我發現的內容,以防其他人遇到同樣的問題。 再次感謝。 – Jerad

+0

我能夠添加模擬數據並使用API​​視圖返回它。所以,看起來這個問題確實圍繞着MySQL連接。我打算使用未存儲在同一臺服務器上的MySQL數據庫。我可以訪問它的所有信息。這應該是可能的時候正確配置,正確的?謝謝。 – Jerad