-1

この 3 日間、AWS で FRAPI フレームワークを構成しようとしています。エラーなしで管理パネルを構成しましたが、何らかの理由で API 部分が機能しません。ただし、管理パネルで作成されたアクションをプルしている API ホームページにはアクセスできます。( http://www.serverstars.net/を参照)

奇妙なことに、存在しないアクション 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 admin@api.frapi
    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/public の .htaccess 書き換え

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

RewriteRule または MySQL conn が問題を引き起こしていると思われますが、SQL 接続が 500 エラーをスローするとは思えません。

あなたの助けは大歓迎です!!

4

1 に答える 1

1

API の他の部分 (主に設定されている既定の API 呼び出し) を見ると、書き換えルールが正常に機能していることがわかります。

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

問題は、mysql-query からデータを選択して$this->data変数に入れるモデルにある可能性があります。または、PHP と MySQL の間に問題がある可能性があります。

直接的な回答はできませんが、以下をご覧になることをお勧めします。

  1. http://frapi.github.io/installing/index.html#frapi.installing.configuring.apacheを見て、すべての権限が適切に設定されていることを確認してください。
  2. mysql クエリの結果を受け取った直後に出力し、die() を使用します (はい、print-and-die デバッグを試してください)。
  3. 禁止されたコレクション コントローラーで、MySQL クエリを削除して、返されるモック変数を配置してみてください。これにより、書き換えルールがコントローラーに到達するかどうかが確認されます。
  4. SQL クエリとその結果を削除した後、モック変数が正しく返された場合は、SQL クエリによって返された値のデバッグと、そこから関連データを選択する方法を確認してください。
  5. すべて失敗した場合は、Apache 側にログがあることを確認し、PHP エラー ログも確認してください。php-error-logs を有効にしていない場合は、これを php.ini に追加します。

    error_log = /tmp/php_error_log

さて、これはあなたの質問に直接答えるものではありませんが、探している答えにたどり着くのに役立つことを願っています:-)

于 2013-06-27T09:26:08.283 に答える