• 締切済み

PHPのページが真っ白に【初心者です】

(ラビットサーバーの専用サーバーからVPSへ) サーバーの移動をしました。 すると、PHPのページが真っ白になり表示されません。 ソースを見ると、以下のように表示されました。 php.iniファイルをいろいろ弄ってみたんですが、 なおりませんで、お知恵を拝借したく書き込みました。 よろしくお願いします。 <? $dir = "../"; include_once('../lib/session.lib'); $main_dsp = './main.tpl'; include_once('./html.php'); ?>

noname#71037
noname#71037
  • PHP
  • 回答数2
  • ありがとう数2

みんなの回答

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.2

しばらく変化がなかったということはしばらくしたら変化したということでしょうか。おそらくapacheを再起動してないために設定が更新されなかったということかと思いますが。 db.libのメッセージについて。 メッセージから察するに適切なユーザ名とパスワードが与えられていないだけかと思います。db.lib自体には(変更していなければ)問題はないはずです。 main.tplのメッセージについて。 51行目のメッセージはエラーではないです。単にGETでroopが渡ってきていないことを通知しているだけです(ErrorでもWarningでもなくNoticeとなっていますよね)。 設定でNoticeは表示しないようにすることもできますが、厳密なコーディングをするために設定は変更せずにプログラムで対応するのがよいかと思います。具体的にはisset()で$_GET["roop"]を調べてfalseを返してきたら適宜初期値を設定してやるなどです。 文字化けについてはマルチバイト関連の設定を移転前の設定と同じにすれば解決するのではないでしょうか。 あとは私が寝起きだからかもしれませんが、説明がわかりづらいです。 質問の書き方次第で解決に要する時間も変わってくると思いますのでそれも工夫してみてください。

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.1

short_open_tagの値がOffになっているのではないでしょうか。 設定でOnにすればPHPとして動作してくれると思います。 もしくはPHP開始タグを<?PHPと記述するかでしょう。 また、XMLを出力する場合はshort_open_tagはOffである必要があるのでその辺を考慮して対応するのが良いでしょう。

noname#71037
質問者

お礼

回答ありがとうございます。 / usr / local / php5 / lib / php.iniの short_open_tag = Onですよね。 実は最初にそれを直してみたんですが、 しばらく、変化が無かったんです。 そして、いろいろ弄って、 さっき確認したら、エラーメッセージが!!/(^o^)\ 3つのページを操作していたんですが、 1つは Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in /usr/local/apache2/htdocs/lib/db.lib on line 36 E_conne=Access denied for user 'root'@'localhost' (using password: YES)] 2つ目は Notice: Use of undefined constant roop - assumed 'roop' in /usr/local/apache2/htdocs/trivia/main.tpl on line 29 Notice: Use of undefined constant roop - assumed 'roop' in /usr/local/apache2/htdocs/trivia/main.tpl on line 51 Notice: Undefined index: roop in /usr/local/apache2/htdocs/trivia/main.tpl on line 51 3つ目はOKでした。 なんか余分な事までしてしまった・・・・・?!;;

noname#71037
質問者

補足

追記です。その後、、、 roopに””つけるのは分かるのですが、 mysqlのパスワードがわからず、 /usr/local/apache2/htdocs/lib/db.libの36行めは function conne(){ $this -> db_con = mysql_connect($this->db_host,$this->db_name,$this->db_pass); if($this -> db_con === false){ print("E_conne=".mysql_error()."]"); return false; } } Notice: Undefined index: roop in /usr/local/apache2/htdocs/trivia/main.tpl の 51行めは $page = new send_page(); $page -> sender($_GET["roop"],$hit_count_send,$hit_count,"index.php",0); echo <<<___ <div align='center'> ___; で、ついでにこのページは文字化けも、、、

関連するQ&A

  • php session_start()

    いつもお世話になっております PHP session_start()について質問させていただきます。 ブラウザで確認すると以下のワーニングが表示されます。 Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at ファイル名) in ファイル名 過去の質問を参考にしてphpinfo()を使用してサーバの設定を確認したところ、Session Supportはenabledとなっております。 また、余分なスペースなどが無いよう、コードを1行にまとめて試してみましたが同じ結果でした。 コードは以下のとおりです。ちなみにサーバはレンタルサーバを使用しております。 ■index.php <?php  $documentroot = dirname( __FILE__) . '/';  require_once $documentroot . '../php_libs/config/config.inc.php';  require_once("Auth/Auth.php");  require_once("HTML/QuickForm.php");  require_once("HTML/QuickForm/Renderer/ArraySmarty.php");  require_once( _SMARTY_LIBS_DIR . "Smarty.class.php");  require_once( _MODULE_DIR . "build_screen.inc.php");  require_once( _MODULE_DIR . "menu.inc.php");  require_once( _MODULE_DIR . "MYDB.inc.php");  require_once( _MODULE_DIR . "sub.inc.php");  main(_MEMBER_FLG);  exit; ?> ■main関数 <?php  function main($systemflg){   // セッション名の設定   $sess_name = ($systemflg) ? _SYSTEM_SESSNAME : _MEMBER_SESSNAME;   session_name($sess_name);   // セッション開始   session_start(); ~以下省略~ どこに問題があるかお分かりの方いらっしゃいましたら、ご回答のほどよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpのincludeについて

    お世話になります。 Apache/2.2.3 PHP5.1.6 のレンタルサーバを利用しています。 httpdocs   |___lib   |  |___test.php   |___index.php という構造にしています。 -----test.php-------- <?php $a = 'sample'; ?> --------------------- -----index.php------- <?php include_once 'lib/test.php'; echo $a; ?> --------------------- 上記の場合、index.phpには 「sample」と表示されます。 -----index.php------- <?php include_once 'http://example.com/lib/test.php'; echo $a; ?> --------------------- 上記の場合、なぜか表示されません。 そこで「http://~~」はincludeできないのかなと思ったのですが -----test.php-------- <?php $a = 'sample'; echo $a; ?> --------------------- -----index.php------- <?php include_once 'http://example.com/lib/test.php'; ?> --------------------- とすると、なぜか「sample」と表示されました。 この結果から、includeはできているみたいです。 なんとか -----test.php-------- <?php $a = 'sample'; ?> --------------------- -----index.php------- <?php include_once 'http://example.com/lib/test.php'; echo $a; ?> --------------------- で「sample」と表示させたくて試行錯誤してみたのですが どうしても解決できません。 お力添えのほどお願いできればと思います。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHP初心者です。

    PHP初心者です。 アイルのiクラスタ(i-03)のサーバにPHPのメールフォームを設置したのですが、セッションの値が正確に渡されなくて困っています。 フォーム入力後の確認画面に遷移したとき、値がまったく渡されていない、もしくは以前入力した値が表示される、たまに正確に渡される、といった状況です。さらに、次のステップ(送信)に移るときも同じ現象が起こります。 ほかのサーバでは正常に動作したので、プログラム内ではないと思います。 また、最初にサーバに設置したときにセッションでエラーが出ていたため、php.iniを同階層に設置し回避しています。 iクラスタではPHPのセッションが普通に使えないという記事を見たのですが、このように値が混乱して表示されることがあるのでしょうか?どうすれば正確に値が渡されるでしょうか?助けてください。

    • ベストアンサー
    • PHP
  • phpのinclude_pathのエラーについて

    phpで以下のエラーが出ております。 いろいろ試しているのですが、解決できません。 各種設定ファイルに設定の誤りがあるのでしたら教えていただきたいと思います。 1)Fatal error: main(): Failed opening required '' (include_path='.;c:\php\includes') in C:\Apache2\htdocs\aaa\ins.php on line 26 2)Fatal error: main(): Failed opening required '' (include_path='.;c:\php4\pear') in C:\Apache2\htdocs\aaa\ins.php on line 26 c:\php4\pearというディレクトリは存在しないがなぜか出る。 3)Fatal error: main(): Failed opening required '' (include_path='.;c:\php\includes\aaa') in C:\Apache2\htdocs\aaa\ins.php on line 26 4)Fatal error: main(): Failed opening required '' (include_path='.;C:\Apache2\htdocs\aaa') in C:\Apache2\htdocs\aaa\ins.php on line 26 ##ins.phpのソース: $tpl = "ccc.tpl"; require_once($tpl); ##ディレクトリ構成 C:\Apache2\htdocs\aaa ins.php ccc.tpl ##php.iniの設定: ---有効にした場合1)のメッセージ include_path = ".;c:\php\includes"  ---コメントアウトした場合2)のメッセージ ;include_path = ".;c:\php\includes"  ---以下のpathにフォルダを作成してccc.tplを配置した場合3)のメッセージ include_path = ".;c:\php\includes\aaa" ---以下のpathを指定した場合4)のメッセージ include_path = ".;C:\Apache2\htdocs\aaa" ##httpd.confの設定: line 231 DocumentRoot "C:/Apache2/htdocs" line 256 <Directory "C:/Apache2/htdocs"> AllowOverride Options AuthConfig ##環境 os:winXP apache2:apache_2.0.58 php:PHP Version 4.4.1

    • ベストアンサー
    • PHP
  • php.iniがない

    たびたびお世話になっております。 <環境> 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で終わっていないことです。 インストールの方法がまずかったのでしょうか? ご教授よろしくお願いいたします。

  • SOAP/Client.phpを認識できない?

    初めて質問します。 よろしくお願いします。 PHPにてSOAPを使用したツールをレンタルサーバーにて作成しようと思い require_once('SOAP/Client.php'); とSOAP/Clientをインクルードして実行してみたところ Fatal error: main(): Failed opening required 'SOAP/Client.php' (include_path='.:/usr/local/lib/php') in /***/***/***/test.php on line 2 と言ったエラーが表示されてしまいます。 SOAPモジュールがインストールされていないのかと思い、phpinfo()にて調べてみたところsoapはenabkeでインストールされているように見受けられます。 何が原因か思い当たる方いらっしゃいませんでしょうか? OS:FreeBSD 4.10-RELEASE-p22 PHP:4.4.2

    • 締切済み
    • PHP
  • PHPが正常に作動してくれない。。

    つい最近までPHPが正常に起動していたのにもかかわらずcpanのインストールをしたためか使えなくなりました。 PHPで作成したページに行くと Fatal error: main(): Failed opening required 'http://hogeho/tmp.ini' (include_path='.:/usr/local/lib/php') in /home/hogehoge/public_html/index.php on line 12 となります。いったいどのように直したらいいのでしょうか? ちなみに使用サーバーではFTP他TelnetやSSHを使用することができます。

    • ベストアンサー
    • PHP
  • htmlとphpで同じページを表示させたい

    index.htmlとindex.php、どちらをアクセスしても同じ表示(view.php)にしたくて index.phpには include_once './view.php'; を書いてみて、表示できましたが index.htmlでも同じようにview.phpを表示させることは可能ですか? 可能であれば(他にも方法があれば)、教えてください。

    • 締切済み
    • PHP
  • こんにちは、PHP初心者です。

    こんにちは、PHP初心者です。 Smartyを利用してWebサイトを構築中です。 Smarty.classの派生クラスを作成し、コンストラクタ内でDB接続オブジェクトを privateプロパティ($_db)に設定しているのですが$_dbの値が アクセサメソッドを通じてgetすると空白になってしまいます。 色々やってみましたが理由が分からず、 ためしにコンストラクタ内でクエリを実行したところテーブルから値を取得できました。 なぜコンストラクタ外に出るとprivateプロパティの値が取得できなくなるのか分かりません。 どなたかご教示ください。 どうぞよろしくお願いします。 下記ソースです。 *(Smarty.classの派生クラス)********************************************** <?php require_once("DB.php"); require_once("Smarty.class.php"); class MySmarty extends Smarty{ private $_db; public function __construct(){ parent::__construct(); $this->template_dir="C:/xampp/modules/access_control/templates"; $this->compile_dir="C:/xampp/modules/access_control/templates_c"; $this->config_dir="C:/xampp/config"; $this->config_load("access_control.conf",basename($_SERVER['SCRIPT_NAME'],".php")); $tihs->_db=DB::connect($this->get_config_vars('db_string')); if (PEAR::isError($db)) { die($db->getMessage()); } } public function __destruct(){ $this->_db->disconnect(); } public function get_db(){return $tihs->_db;} } ?> *********************************************** *(メインのPHP)********************************************** <?php require_once("../../modules/access_control/class/MySmarty.class.php"); require_once("../../modules/access_control/class/name_search.class.php"); $o_smarty=new MySmarty(); $db=$o_smarty->get_db(); ←ここで値が取得できない $o_smarty->assign("toolname",name_search::getToolName($db)); $o_smarty->display(basename($_SERVER['SCRIPT_NAME'],".php").".tpl"); ?> ***********************************************

    • ベストアンサー
    • PHP
  • it.phpをインクルード

    テンプレートhtmlとデータの結合をさせようと、 php.iniを書き換えて、include_pathの設定をしたのですが、 require_onceでit.phpのインクルードがうまくいきません。。 理由はなにが考えられるでしょうか? どなたか御教授おねがいいたします。 環境は、 PHP Version 4.1.2 Apache/1.3.23 です。

    • ベストアンサー
    • PHP

専門家に質問してみよう