ちょっと変わったマニアな作品が集結

たびたびお世話になっております。
<環境>
Red Hat Enterprise Linux ES v.4
PHP 4.4.2(cli)

この度、Apache2とPHPとMySQLをソースからインストールしました。
どれもインストールが終わって、開発に進んだのですが
php.iniのextension_dir の値を変更しようと思ったところ
php.iniがありません。
# find / -name "php.ini" -ls
で検索しましたが、表示されません。
でも、phpinfo()は表示されています。
ちょっと気になったのが、phpinfo()で表示される
Configuration File (php.ini) Path が
「/usr/local/lib」となっていて、php.iniで終わっていないことです。

インストールの方法がまずかったのでしょうか?
ご教授よろしくお願いいたします。

A 回答 (5件)

>インストールの方法がまずかったのでしょうか?


php.iniファイルは手作業で作成・配置する必要があります。

php-4.4.2.tar.gzを解凍すると作成される、php-4.4.2ディレクトリ直下に

php.ini-dist
php.ini-recommended

というファイルが解凍されていますので、それらをphp.iniファイルの
雛形にすればいいです。

この回答への補足

xjdさん ご回答ありがとうございます。
php.ini-dist
php.ini-recommended
というファイルはありました。
どちらでも大丈夫なのでしょうか?

# cp /usr/local/src/php-4.4.2/php.ini-dist /usr/local/lib/php.ini
# cp /usr/local/src/php-4.4.2/php.ini-recommended /usr/local/lib/php.ini

で大丈夫でしょうか?

補足日時:2006/06/29 17:43
    • good
    • 0

>というファイルはありました。


>どちらでも大丈夫なのでしょうか?

php.ini-dist と php.ini-recommended の二つのiniファイルですが、
それぞれファイルの先頭に解説文があるので読んでください。

とりあえず、パフォーマンスとセキュリティの観点から最適化された初期設定がなされているので、
php.ini-recommended の使用を推奨(recommended)します。

但し、あくまでもひな型ですので、あなたのシステムで確実に動作するかは保障できません。
二つのiniファイルを比較して、あなたが必要とする設定にカスタマイズしてください。


http://wiki.ohgaki.net/index.php?PHP%2Ftips%2F%B …
    • good
    • 0
この回答へのお礼

xjdさん ありがとうございます。
php.ini-recommended をコピーしたら
Configuration File (php.ini) Path に「/usr/local/lib/php.ini 」と
表示されるようになりました。
「/usr/local/lib/php.ini」を変更したら、phpinfo.phpの値が
変更されていることも確認できました。
環境に合わせて設定を変更します。
ありがとうございました。

お礼日時:2006/06/30 10:33

#1 です。


一般的に ソースを展開したディレクトリに
README とか INSTALL というファイルがあり、
ここに 説明やインストールの方法が書かれていたりします。
まず、説明を読みましょう。
    • good
    • 0

下記のコマンドで表示されません??


# ls /usr/local/lib | grep php

php.ini がなくてPHPが動作しているとは考えられません。

この回答への補足

qaz_qwerty_me さんご回答ありがとうございます。
# ls /usr/local/lib | grep php
としたところ
php
としか出てきませんでした。
何がおかしいのでしょうか?

補足日時:2006/06/29 15:47
    • good
    • 0

php-5.1.4 は INSTALL ファイルに説明がありますが


php-4.4.2 にはありませんか?

この回答への補足

umota さんご回答ありがとうございます。
どこのファイルをご指示していただいたのでしょうか?
まだ勉強不足のため、詳しく教えていただけますのでしょうか。
よろしくお願いいたします。

補足日時:2006/06/29 15:54
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QParse error: syntax error, unexpected T_STRING in・・・118と出るのですが

Parse error: syntax error, unexpected T_STRING in 。。。 on line 118
とでるのですが対処はどうすればよろしいでしょうか?

Aベストアンサー

118行目をみてみてください。
ダブルクォーテーションのなかでダブルクォーテーションを使ったり
してませんか?
基本的な文法ミスなので、自己解決できないと今後きびしいですよ。

Qレッドハットのバージョン確認方法

自分のサーバで使用しているREDHATのバージョン確認はどうすればいいのでしょうか?

more /etc/issue
とやっても英文しか出てきませんでした。

uname -all
でもカーネルのバージョンは出るのですが、REDHATのバージョンは出ませんでした。

Aベストアンサー

> more /etc/issue
> とやっても英文しか出てきませんでした。

その英文にはRedHatのバージョンは書いてなかったのですか?
書いていなかったとしたら、管理者により編集されている可能性
がありますね。

cat /etc/redhat-release

ではいかがでしょう?
やっぱり英文ですけど。

rpm -q redhat-release

でもいいかも

QPHPINFOが見えない

自分のパソコンでPHPの勉強をしていますが
悪戦苦闘しています。

http://localhost/にアクセスすると
「予想に反して・・・」が表示されます。

C:\Program Files\Apache Group\Apache2\htdocs\phpinfo.phpには

<?php
phpinfo();
?>

と書いたスクリプトがあります。

http://localhost/phpinfo.phpにアクセスしても
「ページが表示できません」にもならず、
現在のページがそのまま動きません。
一瞬、何かをダウンロードするような画面が見えますが・・・。

http://localhost/phpinfo.php
が見えるようにするにはどうしたらいいか教えてください。

OSはXPPro(IIS自動起動停止済)
Apache2.0
PHP5(Cドライブ直下にphpフォルダ内に設定)
参考書籍は「実戦マスターPHP+MySQL」ソーテック社
ウィルス対策ソフトはウィルスバスター2008

php.iniはWindowsフォルダにあります。

自分のパソコンでPHPの勉強をしていますが
悪戦苦闘しています。

http://localhost/にアクセスすると
「予想に反して・・・」が表示されます。

C:\Program Files\Apache Group\Apache2\htdocs\phpinfo.phpには

<?php
phpinfo();
?>

と書いたスクリプトがあります。

http://localhost/phpinfo.phpにアクセスしても
「ページが表示できません」にもならず、
現在のページがそのまま動きません。
一瞬、何かをダウンロードするような画面が見えますが・・・。

http://localhost/phpinfo.php...続きを読む

Aベストアンサー

そのヘッダーからすると問題なくPHPは動いているようなので、ブラウザの問題では無いかと思いますが

では 次の内容のfileを 01.php と名前をつけて設置してアクセスしてみてください
## 01.phpの内容
<?php
echo "<HTML><PRE>\n";
print_r($_SERVER);
echo "</HTML>";
?>
##以上迄

Array
(
   [HTTP_HOST] => localhost から始まる環境変数一覧が表示されませんでしょうか?
もし、これが正常に動けば phpinfo() が見えないのは間違いなくブラウザの問題です

どっちみちwebコンテンツ制作に係わるなら 複数のブラウザで表示確認した方が良いので
http://mozilla.jp/firefox/ よりFireFox をダウンロード&インストールされた方が良いかと思います
で、現在MSIEをお使いなら
IE7なら ツール>インターネットオプション>詳細設定> 下の方にある [リセット(S)]ボタンを押す とオプション設定が初期化されますのでphpinfo() も表示されるのではないかと思いますが
IE6なら http://support.microsoft.com/default.aspx?scid=kb;ja;JP310049 の「Web の設定をリセットする」

そのヘッダーからすると問題なくPHPは動いているようなので、ブラウザの問題では無いかと思いますが

では 次の内容のfileを 01.php と名前をつけて設置してアクセスしてみてください
## 01.phpの内容
<?php
echo "<HTML><PRE>\n";
print_r($_SERVER);
echo "</HTML>";
?>
##以上迄

Array
(
   [HTTP_HOST] => localhost から始まる環境変数一覧が表示されませんでしょうか?
もし、これが正常に動けば phpinfo() が見えないのは間違いなくブラウザの問題です

どっちみちwebコンテンツ制作に...続きを読む

Q同じページでフォームデータを受取る方法

同じフォームでデータを送信させたいと考えています。
サーバ環境変数の $_SERVER['PHP_SELF'] を使用すれば
出来そうなところまではたどり着いたのですが、具体的な
記載方法が分かりません。

やりたい事としましては、まず最初の画面で1行ずつ何かデータを
表示させて、チェックボックスで複数選択可能な状態にします。
書式方法が分からないところですが、チェックボックスで選択した
データのみを、input type='submit'を使って同じフォームでデータ
を送信させて、チェックボックスにて選択したデータのみを画面に
表示させたいと考えています。

どなたかお分かりになる方がいらっしゃいましたら、簡単な具体例
として記載方法を教えて頂けないでしょうか。

Aベストアンサー

>> 結果画面には、チェックボックスで選択したデータのみを表示させたいと考えています。

以下参照
<?php
print "<html><body>";
if (isset($_POST['cbox'])){
foreach($_POST['cbox'] as $val){
$val=htmlspecialchars($val);
print "チェック${val}が選択されました<br>\n";
}
} else {
print <<<_FORM_
<form action="" method="post">
<input type="checkbox" name="cbox[]" value="1">チェック1<br>
<input type="checkbox" name="cbox[]" value="2">チェック2<br>
<input type="checkbox" name="cbox[]" value="3">チェック3<br>
<input type="submit">
</form>
_FORM_;
}
print "</body></html>";
?>

>> 結果画面には、チェックボックスで選択したデータのみを表示させたいと考えています。

以下参照
<?php
print "<html><body>";
if (isset($_POST['cbox'])){
foreach($_POST['cbox'] as $val){
$val=htmlspecialchars($val);
print "チェック${val}が選択されました<br>\n";
}
} else {
print <<<_FORM_
<form action="" method="post">
<input type="checkbox" name="cbox[]" value="1">チェック1<br>
<input type="checkbox" name="cbox[]" value="2">チェック2<br>
<input type="checkbox" n...続きを読む

Qサイトのphpソースコードを表示する方法

参考のためにサイトのphpソースコードを表示する方法を知りたいです。

ある参考書にこのような解説がありました。
『$con = mysql_connect("localhost","sampleID","samplepass");
のようにphp内に直接ユーザ名とパスワードを記載することはいけません。
なぜなら、phpファイルはブラウザからアクセスして見ることができるからです。
対策として、ユーザ名とパスワードを記載したiniファイルを作り、
それをドキュメントルートよりも上位の場所に置くと良いでしょう。』

ブラウザからアクセスして見ることができる、とありますが、
見ることが出来るのは開発担当者達ということでしょうか。

SQLiteのデータベースも同様にドキュメントルートよりも上位の場所に保存
とあるサイトで解説していましたが、専用のソフトとかありますか?

Aベストアンサー

サーバの環境設定や「.htaccess」ファイル等のようなもので間違った設定を行い、
***.phpファイルにアクセスされた場合にPHPとして動作せず
他のHTMLファイルやテキストファイルのようにダウンロード表示されてしまう可能性は多分にあります。
SQLiteのファイルやCSVなんかも、パーミッション等々、正しく設定していなかった場合、簡単にアクセスされてしまいます。

その為、少なくとも、ドキュメントルートより上に直接アクセスされたくないファイルなどを置いて、
require_once, require, include, include_once等によりPHPから参照したりするのが一般的、という事ではないでしょうか。

Qapacheユーザの実行権限設定はどうすれば良い?

■環境
・Cent OS

■状況
・所有者hogeのディレクトリxに対して、スクリプト経由(apacheユーザ権限)でchmodしようとすると、エラーになります
・スクリプト経由(apacheユーザ権限)でディレクトリ作成しようとしても、エラーになります

■質問
・どうすれば良いでしょうか?
・所有者hogeのグループにapacheユーザを入れたら効果あるでしょうか?

・ディレクトリ所有者がhogeであることが問題? apache所有にした方が良い?
・それとも、スクリプト実行を、apacheユーザ権限ではなく、所有者hogeにした方が良い? どうやって?

・そもそもapacheユーザ権限は、一般的にどう設定するものなのでしょうか? rootみたいに最強にする?

Aベストアンサー

> 所有者hogeのグループにapacheユーザを入れたら効果あるでしょうか?

基本的にはそれでOKですが、それだけではapacheユーザが作成した
ファイルをhogeユーザが変更できなくなってしまうかもしれません。

user=hoge,group=hoge
user=apache,group=apache,groups=hoge

groupは一次グループ、groups2は二次グループです。umask002 (新
規作成されたファイルのパーミッションが775 ) に設定されている
とします。

hogeユーザが作成したファイルはhoge/hoge なので、hogeグループ
に属するapacheユーザは編集可能です。しかし、apacheユーザが新
規作成したファイルはapache/apache になるので、apacheグループ
に属さないhogeユーザは編集できません。

そこで、ディレクトリをhogeユーザで作成し、ディレクトリにsgid
ビットを立てます。

$ chmod 2775 dir
$ ls -l dir
drwxrwsr-x 2 hoge hoge 4096 4月 7 13:35 dir

これで、apacheユーザがdir上に作成したファイルはapache/apache
ではなく、apache/hoge になるので、hogeユーザも編集できるよう
になります。

> 所有者hogeのグループにapacheユーザを入れたら効果あるでしょうか?

基本的にはそれでOKですが、それだけではapacheユーザが作成した
ファイルをhogeユーザが変更できなくなってしまうかもしれません。

user=hoge,group=hoge
user=apache,group=apache,groups=hoge

groupは一次グループ、groups2は二次グループです。umask002 (新
規作成されたファイルのパーミッションが775 ) に設定されている
とします。

hogeユーザが作成したファイルはhoge/hoge なので、hogeグループ
に属するapacheユーザは編集可能...続きを読む


人気Q&Aランキング