![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
始めての投稿・質問です。
当方、目下独学でWebサイトの自作に挑戦中です。
環境は、Mac OSX(mavericks),MAMP,Dreamweaver CC (+ PHP) 。
上記環境でphpをCGIのように動かしたいよ思っています。
質問[1] .htaccessの設定は以下で正しいでしょうか?
Addhandler application/x-httpd-php55cgi .php .html .htm
質問[2] php.iniの設定は以下で正しいでしょうか?
error_reporting = E_ALL | E_STRICT
default_charset = "UTF-8"
include_path = "Applications/MAMP/bin/php/php5.5.3/lib/php"
date.timezone = Asia/Tokyo
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = pass
mbstring.encoding_translation = on
output_buffering = on
mbstring_substitute_character = "?"
質問[3]上記以外にも重要な設定事項や記載事項があれば教えてください。
以上、なにぶん初心者のため勉強範囲もまだ狭く、専門用語も十分理解把握できない
かもしれません。なにとぞそこを考慮してご教示をお願いいたします。
No.4ベストアンサー
- 回答日時:
CORE SERVER.JP - PHPをCGIとして動かす方法について
http://www.coreserver.jp/help/index.php/phpcgi/
参考にされたのはこちらの記事でしょうか?ちょっと内容が古そうですね。
>> そのほうがセーフモードやユーザー名の制限が無くなる…とありました。
PHPのセーフモード自体がすでに昔の機能なんですよね…
PHP Manual - セーフモード
http://php.net/manual/ja/features.safe-mode.php
パーミッション644で動作するのかに関しては、私が調べた限りでは肯定する意見も否定する意見も存在したので、実際に検証してみないことには明言することは出来ません。一般的にCGIという枠で考えれば755が必要だと思ったのですが…ただ、これがCGI版のメリットではないことは断言できます。モジュール版はパーミッション644で動作します。
もっと詳しい記事を見つけたので掲載させていただきます(CentOS向けですが)↓
レンタルサーバー・自宅サーバーの設定・構築のヒント
http://server-setting.info/centos/php_cgi_module …
http://server-setting.info/centos/apache_fastcgi …
http://server-setting.info/centos/apache-mod_fas …
まあ、特に拘らずとも標準のモジュール版を使っておけば何も問題はないと思います。練習環境でパフォーマンスチューニングなんてする必要もありませんし。
この回答への補足
http://www.fumi.org/neta/201205sv.html
によりますと、phpはModule方式かCGI方式かの2者択一ではなく、両者は共存でき、呼び出し方の違いだけ。実行形式を切り替えているのではない。という記述を見つけました。
脆弱性解消にはmime_moduleなどにAddHandler cgi-script .hoh
Action cgi-script / cgi-bin/php-cgi
と記述すれば良い。とありました。
アドバイスいただいた
http://server-setting.info/centos/apache_fastcgi …
も以前に参照していましたが、PHPをCGi版で動作させるとphpinfo( );の出力情報に「Server API CGI/FastCGIと表示され、phpはFastCGIに対応している…
となっています。両者が共存できる、という点は同じ解説でなないでしょうか?
大変ご親切な回答に感謝しています。サーバー側での動作やセキュリティを事前に自分なりに検証した上で、試作を続行したいと思います。時間がかかりますが今後もよろしくお願いいたします。
No.3
- 回答日時:
ちなみに...
私は error_reporting = E_ALL | E_STRICT を推奨しておきます。
最初から error_reporting = E_ALL & ~E_NOTICE で書くとダメプログラマ一直線ですので。
E_NOTICEは変数名のタイプミスを見つけるのにも非常に役立ちますし。
この回答への補足
特に確認したいこと…
.htaccessの記述の件。サクラネットのサービス説明では拡張子.phpの場合に、x-httpd-phpcgi .phpと記述するように案内しています。
私の場合は 拡張子.htmlで要所にphpを記述します。その場合でも
「x-httpd-phpcgi .php .html .htm」で動くのかが心配です。
error_reporting の記述に関して参考になりました。ありがとうございました。
なお、一部に補足を加えました。アドバイスをいただけたら幸いです。
No.2
- 回答日時:
今時純正のCGIなんか使う人なんかいるんでしょうか…「mod_php」か「FastCGI(mod_fcgid/mod_fastcgi)」の2択だと思いますが。
純正のCGIはデメリットばかりでいいこと全然ないですよ。CentOSにfastcgiの導入&mod_phpとの比較
http://blog.mizoshiri.com/archives/1132
この回答への補足
モジュール版phpとしての使用と、CGI版phpとしての使用があるようですが、
私の場合はCGI版phpとして使いたいと思っています。そのほうがセーフモードやユーザー名の制限が無くなる…とありました。
またパーミッション644などCGIオーナー実行権限がなくても標準のモジュール版phpの設定を引き継いで動作するとも聞きました。正確には判りませんので質問した次第です。
No.1
- 回答日時:
>上記環境でphpをCGIのように動かしたいよ思っています。
本当にCGIとして動かしたいのでしょうか?
AddType application/x-httpd-php .php
的なモジュールとして動かす方が一般的だと思いますが
>error_reporting = E_ALL | E_STRICT
深く学習したいテスト用やクライアントへの納品用の厳密なチェック必要な場合は
それでもいいかもしれませんが、下手に厳密チェックをするといろいろエラーを
消しこむのが面倒です。柔軟に処理したいなら
error_reporting = E_ALL ^ E_NOTICE
でも十分かと、もうちょい工夫して
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
的な処理でもいいかも。
特定スクリプトだけ厳密にチェックしたいならスクリプトごとに
error_reporting(E_ALL | E_STRICT);
などを埋め込んでおけばいいので・・・
この回答への補足
拡張子は.htmlです。そこにphpを組み込んだサイトですが、AddType application/x-httpd-php .phpでサーバー側の処理ができるのか私には判然としませんので、質問させていただきました。
補足日時:2014/02/19 14:47error_reportingの記述は大変参考になりました。
厳密チェックで多発するエラー判定を順次消していくのは大変、特定スクリプト
で対応すれば…は大変ありがたいアドバイスでした。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
服にかいた油性ペンがにじまな...
-
パソコン一日中つけっぱなしの...
-
WordPressのコメント数表示を消...
-
<A href ~ と一緒に値を渡すには
-
PHPINFOが見えない
-
フォームで戻った際に入力済み...
-
PHPからMSSQLへの接続結果の文...
-
PHPでメールを受信するには?
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
PHPのif文でその処理を途中で抜...
-
コードがそのまま表示される
-
.phpのファイルを開けない!
-
mysql複数レコードをまとめて削...
-
PHPファイルの画像背景について
-
バッチを用いたフォルダの自動移動
-
http://localhost/に.htaccess...
-
MySQLのdatetime型の月日0を削...
-
拡張子php画像をjpg画像等に変...
-
wordpressのテーマSightの日付表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPからMSSQLへの接続結果の文...
-
phpのextension_dirを複数指定...
-
.htaccessにphp_valueが使用できな
-
phpの中でphpを書けないか
-
<A href ~ と一緒に値を渡すには
-
フォームで戻った際に入力済み...
-
HYのAM11:00のラップの部分の歌...
-
header(Location:~)で$_SESS...
-
セッションについての設定なの...
-
*.php、*.php3、*.phtmlの違い
-
PHPファイルが表示されない
-
WordPressのコメント数表示を消...
-
PHP ページング データベース
-
ログイン判定後の画面遷移について
-
iframeで読み込んだ別のphpファ...
-
PHPでメールを受信するには?
-
リンクのクリック数をカウンタ...
-
pear_info.phpも表示できません
-
パソコン一日中つけっぱなしの...
-
テレメールとは?
おすすめ情報