![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
レベルは、日曜プログラマーで、ローカルでPHP+MySQL(Windows)で簡単なイントラを構築しています。
今回、プロバイダのサービスディスク容量が一杯になり契約を更新しようと思いましたところ、PHPを使わせてくれ、しかも安くてメール容量が多いという契約があり、薦めてくれるままに入りました。
で、ためしに、
test.php
<?php echo("Hello \n"); ?>
をアプロードして、ブラウジングしたところ、
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
というエラーがでました。
そこで、プロバイダへ電話をして、尋ねたところ、エクステンションを「php」では動きませんので「cgi」にしてくださいと言われ、そのようにしたのですが、同じエラーがでます。(説明書には「phpもしくはcgi」と書いてあります。)
で、電話にて、「ソースを見せてもらいましたが、指定ができてない。」旨指摘されました。
いろんな本を読んだり、ウェブで検索しても載っていないので、たぶんかなり初歩的な質問だと思うのですが、
PHPもPerlのように、パスを指定しなければいけないのでしょうか?
説明書を読みましたが、そのあたりの記述がみあたりません。
かなり以前になりますが、ローカルでLinux+Apache+PHPで構築したときも、そんな設定は無かったように記憶しているのですが、勘違いでしょうか?
ご存知の方、具体的に教えていただけないでしょうか?
なお、
説明書には、.htaccessは設置しなくていいと書いてあります。関係無いとは思いますが、cgi-binも設置不要とあります。
サーバーのPHPバージョンは4.3.11とありますが、実際に調べてみると、4.4.4でした。サーバーはfreeBSDのようです。徒労とは思いましたが、パーミッションはいといろ試してみました。777、755、700、644、600等々
No.2ベストアンサー
- 回答日時:
え~とPHPは超初心者ですが、、
1. PHPにはApacheのモジュールとして動くものとPerlのCGI等と同じように動くものと有ります
これはサーバーにどういう形でインストールしたかなのですが
サーバーによってはモジュール版、CGI版 両方がインストールされている場合も有ります
http://wiki.bit-hive.com/tomizoo/pg/PHP%20CGI%A4 …
2.プロバイダの説明で php のパスは有りますか?
大概は /usr/bin/php か /usr/local/bin/php ですが
もしコマンドラインでログインできるなら
$ which php で調べてください
3. で /usr/local/bin/php だった場合ですが
なんかプロバイダの説明が怪しい気がするのは私だけ? かも知れませんが
以下 の内容で php.cgi と言うfileを作って サーバーにアスキーモードで転送してください
#!/usr/local/bin/php
<?php
echo "Content-type: text/html\n\n";
phpinfo();
?>
パーミッションは取り合えず 755 (で、動いたら705 、もしsuexecなら 700でも動くはず )
4. で http://hoge.example.com/php.cgi にアクセスして
画面に Content-type: text/html が表示されているようなら
本当にCGI版ですから 次からは
echo "Content-type: text/html\n\n"; 行は不要です
画面に Content-type: text/html が表示されなければ
CGI版ではなくCLIのはずですから
次からも echo "Content-type: text/html\n\n"; の記述を入れてください
(この場合はモジュールとしても動くかもしれませんが)
5. おなじみの phpinfo() 画面ですが 今まで質問者さんが見慣れたものは
Server API の欄が "Apache 2.0 Handler" などと成っていたと思いますが
今回のは Server API欄が "CGI" と成っているはずです
参考URL:http://jp.php.net/manual/ja/features.commandline …
詳しいご説明、ありがとうございます。よく理解できました。
気になっていたものですから、あれこれ考えて、またウェブを検索して、どうにか自己解決できました。CGIとモジュールの二つがあることを知りませんでした。PHPはモジュールだけだと思っていましたので、深みにはまったようです。#1さんumasikajiroさんのご指摘どおりにしますと、きちんと動きます。CGIで動いていたようです。phpinfo()で見ましたら、たしかにServerAPIはApache 2.0 Handlerではなく、CGIとなっていました。また、説明書ではVer4.3.11で、案内では4.4.4で実際には4.4.6となっており頻繁に更新しているようでした。(逆の意味で、親切なプロバイダかもしれませんね)
//----------これで動きました
test.cgi 705 (やはり拡張子はphpではだめでした)
#!/usr/local/bin/php
<?php echo("Hello \n"); ?>
//--------------------------
このサイトの回答者の方々にはほんとうに感謝します、昔なら解らないで終わったことが、このようにして解決でき、しかもおまけの知識まで付けることができます。
加齢のせいにしてはいけないのでしょうが、最近どうも頭が固くなったようで、思い込みが激しくなりました。今回はほんとうに良い勉強になりました。ありがとうございました。
No.1
- 回答日時:
パスは環境によるのでわからないのですが、
CGI版のPHPを利用する場合は次のように記述する必要があります。
test.cgi(拡張子は.cgi)
------------------------
#!/usr/local/bin/php
<?php phpinfo(); ?>
------------------------
自己解決できました。
oka5130さんご指摘のようにすると、きちんと表示されました。
説明書にはphpでも、cgiでも良いと書いてありましたが、やはり電話での連絡のようにcgiでないと動きません。また、モジュールじゃなくてご指摘どおりCGI版のようです。エラーのおかげで、他のことも検索中に調べ大変勉強になりました。ほんとうにありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) .htaccessファイルの修正がこれで問題ないかどうか 1 2022/04/21 08:42
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- PHP PHPの変わった閉じタグの必要性と意味を教えてください。 1 2022/08/28 15:15
- PHP PHP & MySQL: Server-side Web Development ペーパ 1 2022/04/19 19:23
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- PHP WordpressのPHPを安全に編集する方法 1 2022/08/04 01:43
- PHP PHPで訪問回数を表示するカウンタを作成したい 3 2023/05/27 07:09
- MySQL 「掲示板のログイン画面」はPHP~MySQLに「データベース認証のシステム」方式です。 1 2022/09/27 05:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
こちらはただの直列処理ですか?
-
php 確認表示画面で値をSESSION...
-
php 入力画面から確認表示画面...
-
phpでcookieがうまく保存されない
-
アップロード画像数でCSSを分け...
-
ここで言う空文字の意味とは?
-
空文字 "" ですが 空文字の意味...
-
ワードプレスサイト PHP8.0.25...
-
ECCUBE4のページ管理でPHPを実...
-
値の取り出し方について教えて...
-
$filePath = './user_img/' . $...
-
PHP MySql 画像を取得
-
EC-CUBEをeclipseからコンパイ...
-
jpgraphで表示されない
-
配列の値の更新方法について
-
a href リンクタグでだけで 送...
-
PHPSpreadsheetを使って関数を...
-
PHPSpreadsheetによる書き出し...
-
「ログイン機能を持たせる」説...
-
ここで言う「アロー演算子」の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WordPressのLighting(テーマ)に...
-
wordpress投稿内でcgiを動かしたい
-
PHPのソース変更が反映されない
-
Wordpressで記事がない場合にメ...
-
xreaでのWordpressインストール...
-
Smartyのテンプレートにinclude...
-
<?php phpinfo(); ?>が出たり出...
-
Webデザイナー向けLinuxユーザ...
-
変数で日付を指定し、新しい順...
-
ワードプレス index.phpの差し...
-
サーバーへアプロード、エラー...
-
wordpressサイトの、任意の場所...
-
WordPress(ワードプレス)の記...
-
各ユーザーの記事が閲覧できる...
-
ワードプレスでカテゴリー毎に...
-
PHPでワードプレスにできること...
-
『PHP』ワードプレスで特定カテ...
-
URL短縮ツール「楽々URL」をさ...
-
wordpress カスタム投稿タイプ...
-
PHP記述に便利なソフトを教...
おすすめ情報