以下の手順を実行したところ、奇妙な問題が発生しました。
palcon-devtools-2.0.13 ツールを使用して、プロジェクト test
を作成しました。
すると、無事に動きました!
その後、次の内容を変更しました。
< /p>
問題ありません:
< /p>
しかし:
< /p>
ルートを追加しましたが、問題が発生しました:
< /p>
すみません、何が起こっているのですか?私は現在 php5.6
palcon2.0
の nginx 設定です:
サーバー {
80を聞いてください。
サーバー名テスト;
root /Users/ Ryugou/test/public;
インデックスindex.phpインデックス.htmlインデックス.htm;
文字セット utf-8;
位置/{
try_files $uri $uri/ /index.php;
}
場所 ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index /index.php;
fastcgi_params を含めます。
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
場所 ~ /\.ht {
すべてを否定する。
}
}
PHPz2017-05-16 13:15:09
環境の問題は、php バージョンや Phalcon バージョンのバグではなく、nginx の設定の問題です。
落とし穴!
Phalcon のデフォルトの URI 情報は $_GET['_url'] から取得するか、$_SERER['REQUEST_URI'] に設定できます。
これら 2 つの異なる方法を使用して取得するには、異なる nginx 構成が必要です。 ! (詳細については、Phalcon のドキュメント Phalcon nginx 設定を参照してください)
これは設定する必要があります。
$_GET['_url'] を使用します (デフォルト):
場所 / {
リーリー}
$_SERVER['REQUEST_URI'] を使用、nginx 設定:
場所 / {
リーリー}
$_SERVER['REQUEST_URI'] を通常に使用したい場合は、nginx が設定されているかどうかは問題ではありませんが、php コードで変更する必要があります:
PhalconMvcRouterを使用します;
$router->setUriSource(Router::URI_SOURCE_SERVER_REQUEST_URI);