1

私は PHP と mysql でコーディングすることを学んでおり、wampserver を使用して PHP ファイルを実行できるようにする必要があります。wamp を正しくインストールし、Windows 8 でオンラインにしましたが、PHP ファイルを実行しようとすると、常にエラー 404 が表示されます。Slim ファイルと .php ファイルが正しいディレクトリにあることを確認し、変更も加えました。それに応じて.htaccessを変更して、ローカルマシンでこれをテストしているため、URLが見つからない場合に適切なファイルに再ルーティングします。これが私のサンプルコードの一部です:

require 'C:\wamp\www\easysites\codeguy-Slim-b8181de\Slim\Slim.php';
        \Slim\Slim::registerAutoloader();

        $api = new \Slim\Slim();

        $api->run(); 

エラーを $api->run() まで追跡したところ、ある時点でコール スタックからエラーが発生しました。これは、URL が最初に処理される 123 行目の Slim の environment.php でエラーが発生したことを示していました。Netbeans によって生成された基本的な index.php ファイルを実行すると、それが機能していることを警告する通常のテキストが表示されますが、Slim を使用して php ファイルを実行しようとすると、ルートの下の同じサブディレクトリにあるエラーが発生します。Slim は php ファイルによって正しくロードされますが、他のものを実行することはできず、インポートしたデータベースが表示されません。

誰が何がうまくいかないのか考えていますか? ファイルを正常に実行した同僚がいますが、同じ種類の変更を使用して私のマシンで実行することはできません。

.htaccess ファイルは次のとおりです。

RewriteEngine ON

RewriteRule ^API(.*)$ /API/api.php [QSA, L]

実行しようとしているファイルは、API という名前のルート ディレクトリに含まれるフォルダーにあり、実行しようとしているファイルは api.php です。

4

1 に答える 1

1

Slim のインストールのすべての指示 (ローカル Windows マシンの easyphp にインストール) に正確に従ったところ、エラー 404 が発生しました。

.htaccess を次のように変更したところ、問題なく動作しました。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ %{ENV:BASE}index.php [QSA,L]
于 2013-11-09T22:24:05.577 に答える