- ベストアンサー
sql.phpの作成
vi sql.phpで <? $con = pg_connect("dbname=ishihara"); if(!$con){ print "DBへの接続に失敗しました!\n"; exit; }else{ print "DBへの接続に成功しました!\n"; } ?> というスクリプトをつくって ブラウザでテストしたところ <? $con = pg_connect("dbname=ishihara"); if(!$con){ print "DB�吾��・膓���け�����障����!\n"; exit; }else{ print "DB�吾��・膓����������障����!\n"; } ?> という風に出てしまいます。 これってphpがインストール不完全なのでしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
phpのインストールがうまくいっていない&文字コードが違っているのだと思います。 LINUXで普通にインストールすると、標準文字コードがEUCになっていると思います。 しかし、Fedoraの場合、UTF-8が標準なので、php.iniを編集する必要があると思います # configureに--enable-mbstring付けてありますよね? # httpd.confは編集済みですか?
その他の回答 (5)
- xjd
- ベストアンサー率63% (1021/1612)
日本語を使うときは、ちゃんとcharsetを指定しましょう。 私の場合は、httpd.confで指定をOFFにして、html側のmetaタグでcharsetを 指定する方法が好みです。 あなたのsql.phpで使用している日本語にあわせた指定をしてください。 (euc-jp utf-8 など) (httpd.conf) AddDefaultCharset OFF <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> </head> <body> <? $con = pg_connect("dbname=ishihara"); if(!$con){ print "DBへの接続に失敗しました!\n"; exit; }else{ print "DBへの接続に成功しました!\n"; } ?> </body> </html> ブラウザ上には、以下のように表示されます。 (Postgresの設定をしていないので当然エラーがでますが) Warning: pg_connect(): Unable to connect to PostgreSQL server: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? in /usr/local/apache2/htdocs/test.php on line 7 DBへの接続に失敗しました!
お礼
fedoraがUCFー8でないと文字化けすることを知りませんでした。 php.iniをUCFー8にすべて書き換えたら ちゃんと表示されるようになりました。 ありがとうございました。
- xjd
- ベストアンサー率63% (1021/1612)
>phpが二つ入ってしまっているということで >不具合が生じているのでしょうか? PHPをソースからコンパイルした場合は、デフォルトで /usr/local/ 配下にインストールされますから、パッケージ版の PHPとはぶつかりません。 ソース版のPHPをコンパイルするときは、Apache2に含まれるapxsコマンドを 指定してください。 # ./configure --with-apxs2=/usr/local/apache2/bin/apxs # make # make install httpd.conf には以下の3行を追加して、Apache2を再起動してください。 「/usr/local/apache2/conf/httpd.conf」 LoadModule php4_module modules/libphp4.so AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps いきなり、postgresに接続する前に、簡単なスクリプトを実行して phpの動作確認をしましょう。 <? phpinfo(); ?> ブラウザで読み込んで、PHPの情報が表形式で表示できたら、とりあえず 動いています。
補足
アドバイスありがとうございます。 <? phpinfo(); ?> は、テスト済みでちゃんと起動します。 <? print "<pre>"; print'whoami'; print "</pre> ?> もブラウザで確認すると whoami と出てしまいます。
- liq
- ベストアンサー率38% (228/595)
phpをソースからインストールされたのなら、インストール前にすでにパッケージでphpがインストールされていないことを確認されましたか? webサーバーはおそらくapacheで、apacheをインストール後phpをインストールされたと思いますがhttpd.confに Load Module php4_module libexec/libphp4.so というような行がありますか?
補足
Load Module php4_module libexec/libphp4.so これは確認したのですが 入っています。 >phpをソースからインストールされたのなら、インストール前にすでにパッケージでphpがインストールされていないことを確認されましたか? phpが二つ入ってしまっているということで 不具合が生じているのでしょうか? 確認してみます。
こんばんは。 自分は↓ここをお気に入りに入れてます。 (まだまだPHP勉強中です)
お礼
アドバイスありがとうございます。 道のりはまだまだ遠いようです。 仕事が手に付かないほど 熱中してやっています。 視力低下かもです。
- kusukusu
- ベストアンサー率38% (141/363)
sql.phpが、PHPファイルとして認識されていませんね。 インストールが不完全なのか、設定が不完全なのかは、ちょっとこの情報では分かりかねますが、どちらかでしょう。
補足
設定方法とかって詳しく載ってるHPってありますか?
お礼
fedoraがUCFー8でないと文字化けすることを知りませんでした。 php.iniをUCFー8にすべて書き換えたら ちゃんと表示されるようになりました。 ありがとうございました。
補足
アドバイスありがとうございます。 文字コードEUCーJPに変更しました。 --enable-mbstringも付けてあります。 文字コードはEUCで保存し、EUCでブラウザへ出力という 設定でよろしいでしょうか? もしかして出力はSHIFTーJIS?