[解決済み] 入力ファイルが指定されていない
質問
私は アンカーCMS で、バージョン0.8にアップグレードしたところです。インストーラーを実行しようとすると、「入力ファイルが指定されていません」というエラーが表示されます。.htaccessの問題である可能性が高いと思いますが、正しい設定はどうすればいいのかわかりません。
私のサイトは以下の通りです。 こちら .
私の.htaccessは、次のように設定されています。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase {base}
# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs to index.php/URL
RewriteRule ^(.*)$ {index} [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>
また、ホスティングプロバイダーとしてGoDaddyを使用していますが、これが役に立つでしょうか。
解決方法は?
その
入力ファイルが指定されていない
は、サーバーに PHP が実装されているために表示されるメッセージで、この場合は CGI の実装を表しています (確認するには
phpinfo()
).
さて、これを正しく説明するためには、システムがURLをどのように扱うかについて、ある程度の基本的な理解が必要です。あなたの.htaccessファイルからすると、あなたのCMSは、URLは
PATH_INFO
変数を使用します。CGI と FastCGI の実装では
PATH_INFO
そのため、URI を渡そうとすると、PHP はこのメッセージで失敗します。
代替案を探す必要があります。
一つの選択肢は、これを解決してみることです。のドキュメントを調べると php.ini のコアディレクティブ をクリックすると、あなたの実装に合わせて動作を変更できることがわかります。しかし、GoDaddyはおそらく共有環境上でPHPの設定を変更することを許可しないでしょう。
PHPの設定を変更するための代替手段を探す必要がある
を調べてみると
system/uri.php
40 行目では、CMS が 2 種類の URI 検出を試みていることがわかります - 1 つ目は
PATH_INFO
これは、先ほどうまくいかないことがわかったのですが、もうひとつは
REQUEST_URI
.
基本的にはこれで十分なのですが、渡された URI のパースでさらに問題が発生します。
REQUEST_URI
変数が、強制的に
parse_url()
はURLのパスだけを返すので、基本的にはゼロに戻ります。
さて、実は残された可能性はひとつだけです。それは、CMSのコアを変更することです。URI検出の部分が不十分なのです。
追加
QUERY_STRING
を40行目の配列に追加します。
最初の要素
で
system/uri.php
で、.htaccessを以下のように変更してください。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
これは、リクエストしたURIを
index.php
として
QUERY_STRING
で、それを見つけるためのURI検出をさせる。
一方、これが修正されるまで、コアファイルを変更せずにCMSをアップデートすることは不可能です。最悪だ...。
もっと良い方法がありますか?
より良いCMSを探す
関連
-
[解決済み】PHP - 構文エラー、予期しないT_CONSTANT_ECAPSED_STRING [閉店].
-
[解決済み] [Solved] Fatal error: メンバ関数bind_param()のbooleanに対する呼び出し [重複] [重複
-
[解決済み】「初期通信パケットの読み込み」でMySQLサーバーに接続できなくなり、システムエラーになる。0
-
[解決済み】新しいPHPMailerはPHPMailerAutoload.phpが必要?
-
[解決済み】stdClassクラスのオブジェクトが文字列に変換されない。
-
[解決済み] php5パッケージのインストール候補がない (Ubuntu 16.04)
-
[解決済み】子テーマのCSSが親テーマをオーバーライドしない
-
[解決済み】メッセージ。Trying to access array offset on value of type null [重複]配列のオフセットにアクセスしようとしています。
-
[解決済み] mysqli_fetch_assoc() は、パラメータ 1 が mysqli_result であることを期待し、boolean が与えられる [重複] 。
-
[解決済み】mysqli::query(): mysqli をフェッチできない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Notice: 非オブジェクトのプロパティを取得しようとしているエラー
-
[解決済み】PHP - 構文エラー、予期しないT_CONSTANT_ECAPSED_STRING [閉店].
-
[解決済み】PHPで空の値からデフォルトオブジェクトを作成する?
-
[解決済み】不明なMySQLサーバーのホスト
-
[解決済み】mysqli_result クラスのオブジェクトを文字列に変換できない
-
[解決済み] $wpdb->update または $wpdb->insert を実行すると、引用符の前にスラッシュが追加される
-
[解決済み】PHPのクラスが見つからないが、インクルードされている
-
[解決済み] PHP - ストリームを開くのに失敗しました : そのようなファイルまたはディレクトリがありません。
-
[解決済み】MySQLのカラム数が1行目の値数と一致しない【非公開
-
[解決済み] $_SERVER['DOCUMENT_ROOT'] と $_SERVER['HTTP_HOST'] の違いについて