
No.2ベストアンサー
- 回答日時:
phpは、本来
#!/usr/local/bin/php
という記載は不要です。
拡張子を abc.cgi から abc.php とすれば、1行目がなくても動きます。
仮に
#!/usr/local/bin/php
を入れたままにすると、自宅サーバーでは動くが、レンタルサーバーでは
動かない、という事が起こり得ますので、やめるのが得策です。
この回答への補足
回答ありがとうございます
記載は不要でいご来ませんでした
phpの中にCGIが入っています
自宅サーバーでは動くようにしたいのですが
よろしくお願いします。
No.11
- 回答日時:
>まずは説明から
>PHPには、CLI版とCGI版が有ります。
>#!/usr/local/bin/php は、LINUXなどのUNIX系OSにて
>その後のスクリプトをどのシェル(または言語コマンド)で実行するか
>を指定するためのものです。
>上記の記載は、OSに対してCLI版のphpの実行を指定しています
>御利用のレンタルサーバーはUNIX系OS上でCLI版のPHPを使用していることになります。
CGIとサーバのモジュールが理解できてない方のようですね。
で
>WindowsのXAMPPではCGI版でしかWEBからは起動できません。
Windows版のXAMPPでデフォルトでインストールされているのは
モジュール版。
さらにはCLI版(コマンドライン版)もパスを通せばコマンドコマンドプロンプト側で問題なく使える。
No.10
- 回答日時:
>> XAMPP for Windows です
まずは説明から
PHPには、CLI版とCGI版が有ります。
#!/usr/local/bin/php は、LINUXなどのUNIX系OSにて
その後のスクリプトをどのシェル(または言語コマンド)で実行するか
を指定するためのものです。
上記の記載は、OSに対してCLI版のphpの実行を指定しています
御利用のレンタルサーバーはUNIX系OS上でCLI版のPHPを使用していることになります。
WindowsのXAMPPではCGI版でしかWEBからは起動できません。
CGI版は、拡張子だけでスクリプト言語を判定します。
apacheのhttpd.conf内に有る下記ディレクティブでphpを実行するファイルの拡張子を設定します。
AddType application/x-httpd-php .php
デフォルトでは、上記の様に.phpでしょう。
旧バージョンでは .php4になっている場合も有ります。
そこで回答
>> 自宅サーバーの場合の1行目と拡張子はどのように書くのですか
御利用の環境はCGI版なので 1行目は、不要です
拡張子は、httpd.confのAddType application/x-httpd-php で確認してそこの書いてある拡張子を使います。無い場合は
AddType application/x-httpd-php .php を追加しましょう。そうすればphpの拡張子で動きます。
No.9
- 回答日時:
ソースコードを拝見したところ、PHPのみ記述されていますね。
<?php ~ ?> の部分がPHPのコードになります。
ご存知かも知れませんが、PHPは
<?php
$name = "hogehoge";
print "<html>";
print "<body>";
print "Hello, $name";
print "</body>";
print "</html>";
?>
のように、全てをPHPで記述する方法と
<html>
<body>
<?php
$name = "hogehoge";
print "Hello, $name";
?>
</body>
</html>
のように、HTMLの一部にPHPを記述する方法があります。どちらも拡張子は .php にするのが一般的で、もちろんどちらも同じ動作をします。
hana3090さんの場合は後者の記述をしていますね。
また一部のレンタルサーバではPHPの1行目に
#!/usr/local/bin/php
を記述しなければいけないことは私も調べてみて分かりました。
しかし、hana3090さんの自宅サーバではそのような記述は必要ないと思います。
No.8
- 回答日時:
>> XAMPPで自宅サーバー勉強中です
サーバーの環境を明示しましょう
XAMPPには以下の4種類が有りますので、これ開示しないと
適切な回答は得られないでしょう。
XAMPP for Linux
XAMPP for Windows
XAMPP for Mac OS X
XAMPP for Solaris
No.7
- 回答日時:
>HTMLの中にperl文をいれています、
だったら板違いだし
>#!/usr/local/bin/php
なんていう事をすることが意味不明。
この回答への補足
すみませんphp文でした
レンタルサーバーの時のコードです
#!/usr/local/bin/php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML lang="ja">
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=Shift_JIS">
<STYLE type="text/css">
<--
A {text-decoration: none;}
A:LINK {text-decoration: none; color: wwhite; font-weight: bold;}
A:VISITED {text-decoration: none; color: white; font-weight: bold;}
A:HOVER {text-decoration: underline; color: red; font-weight: bold;}
HTML {cursor:url(./okappa61.cur);}
.x14font {
mso-style-parent:style0;
font-size:18.0pt;
font-family:HG丸ゴシックM-PRO, monospace;
mso-font-charset:128; }
-->
</STYLE>
<TITLE>リンク</TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript"><!--
var no = 0;
function back() {
document.body.background="./kabe/p"+no+".jpg";
no++;
if(no >=10) { no = 0; }
window.setTimeout("back()", 6000);
}
//--></SCRIPT>
<?php
print "<body background=\"./kabe/$kabegami\" link=\"#ffccff\" text=\"#ffffff\" vLink=\"#ffffcc\">\n";
?>
<CENTER><?php
#########
print "<FONT SIZE=\"5\" COLOR=\"RED\"><A HREF=\"http://web.infoseek.co.jp/\">★★★★★★</A></FONT><BR><BR>\n";
#########
$stock = array (
"http://www.forum"=>"月月月月☆☆☆☆☆",
"http://www.jp/~oneenew/main.html"=>"月月☆☆☆☆☆",
"http://ch/bbs1/"=>"月月☆☆☆☆",
"http://miwaku.web.infoseek.co.jp/"=>"月月楽部");
$kaisuu = 0;
foreach($stock as $key => $value) {
$kaisuu++;
if($kaisuu == 1) { $iro = "#000080"; $iti = "left"; }
elseif($kaisuu == 2) { $iro = "#000000"; $iti = "center"; }
else { $iro = "#0000FF"; $kaisuu = 0; $iti = "right"; }
print"<TABLE BGCOLOR=\"#FF0000\" BORDER=\"0\" WIDTH=\"30%\" cellpadding=\"0\" cellspacing=\"1\" align=\"$iti\">\n";
print"<TR><TD HEIGHT=\"30\" align=\"center\" BGCOLOR=\"$iro\"><A HREF=\"{$key}\" TARGET=\"_blank\">{$value}</A></TD></TR>\n"; }
$s = date("s",time());
foreach($stock as $key => $value) {
$k++;
if($k == $s) { print "<TR><TD HEIGHT=\"30\" align=\"center\" BGCOLOR=\"#FFFFFF\"></TD></TR>\n";
print "<TR><TD HEIGHT=\"30\" align=\"center\" BGCOLOR=\"$iro\"><A HREF=\"{$key}\" TARGET=\"_blank\">ランダムリンクno{$k}</A></TD></TR>\n";
break; }
}
print"</TABLE>\n";
?>
</CENTER></BODY>
</HTML>
よろしくお願いします。
No.6
- 回答日時:
回答#1をしたx_jouet_xです。
私の早合点(perlと勘違い)で誤った回答をしてしまいました。申し訳ないです。
回答#2および#5の方が説明されている通りです。
XAMPPを使用されているのであれば、PHPであれば
<?php
.....
?>
のように記述した *.php ファイルを\xampp\htdocs配下に置けば動作すると思います。
一般的なサーバ環境ではApacheとPHPをインストールすると、Apacheの設定ファイル(httpd.conf)が書き換えられてPHPをCGIモードで動作させる場合でもPHPファイルの1行目に #!..... の記述は必要なくなるような設定になるはずです。
hana3090さんが使用されているレンタルサーバは httpd.conf で別の設定がされているのだと思います。
http://memorandum.kurashian.com/2009/03/post-13. …
上記のURLにPHPをCGI版としてApacheで利用する場合の httpd.conf の記述例が記載されています。
No.5
- 回答日時:
>HTMLファイルの中にCGIが入っています
そもそもcgiは言語ではなくてシステムの事です。
PHPの場合、CGIモードで動かせばCGIとして動き
Webサーバのモジュールとして動かせばモジュールとして動きその場合はCGIではありません。
ですから
>phpの中にCGIが入っています
なんて状態は起きません。
No.4
- 回答日時:
では、ちょっと逃げ気味ですが
#!/usr/local/bin/php
を
#!C:\xampp\php\php.exe
等にしてみてください。
C:\xampp\php\php.exe
はphp.exeが置いてあるフォルダのパスです。
No.3
- 回答日時:
>記載は不要でいご来ませんでした
>phpの中にCGIが入っています
phpのファイルの中に、別のCGIが入っているということでしょうか?
例えば、以下のようなファイルを作って、hello.phpとして保存し、見てみると動きますか?
//------ここから(この行は不要)--------
<?php
echo "hello";
?>
//------ここまで(この行は不要)--------
この回答への補足
回答ありがとうございます
>phpのファイルの中に、別のCGIが入っているということでしょうか?
HTMLファイルの中にCGIが入っています
レンタルサーバーの時は動いていました、
>以下のようなファイルを作って、hello.phpとして保存し、見てみると動きますか?
動きます、
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- UNIX・Linux cronでシェルスクリプト実行時のkubactlコマンドが機能しない対処法。 2 2022/08/03 18:58
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- UNIX・Linux デフォルト値のパラメータ展開 1 2022/08/12 17:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PEARのmimeDecodeでメール解析...
-
Not Foundが表示されます。
-
phpBBのアーカイブが展開できま...
-
.htaccessの設定で,auto_prepe...
-
codeigniterでcron実行したい
-
PHPでバックグランド処理について
-
取得されるメモリについて
-
phpスクリプトの書かれているフ...
-
exec()にで別PHPをバックグラウ...
-
検索システムについて
-
Strict Standardsエラーを消したい
-
【PHP】ファイル名を取得して拡...
-
実際のphpの運用について
-
バイナリ文字列の初期化方法
-
zip.lib.phpについて
-
FTPコマンドでディレクトリごと...
-
PHPのif文でその処理を途中で抜...
-
フォントの色を変えるには?
-
X-ServerにSmartyをインストー...
-
「旭日中綬賞 」とはどんな賞で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
別PHPファイルに変数を渡す
-
include先でのinclude元の変数...
-
PHPから別なPHPへ移動(?)する方法
-
crontabでPHPスクリプトが実行...
-
シェルスクリプトからphpファイ...
-
連続投稿対策
-
PHPの拡張子を見せない方法
-
cgi-binでPHP動作しない
-
PerlからPHPの呼び出しについて
-
FPDFでPDFファイルが表示されない
-
PHP PEARパッケージのincludeが...
-
インクルードファイルからの相...
-
他人にphpファイルをダウンロー...
-
fputcsvで保存せず、そのまま出...
-
php.iniがない
-
Ruby URLの分解方法
-
入力フォームの空白や改行を制...
-
#!/usr/local/bin/phpはどこに...
-
PHPでURL後のパラーメータの取...
おすすめ情報