• 締切済み

同サーバ内で同じPHPが動作しない

同一サーバ内に、Aというドメインに割り当てられた領域と、Bというドメインに割り当てられた領域があります。 Aというドメイン用のMySQL、Bというドメイン用のMySQLをそれぞれセットアップしました。 データ構造・内容などは全く同じです。 データベースの名前と接続ID・PWのみが異なります。 Aという領域で、仕様通り動作するPHPファイルを、 Bという領域に置いても、なぜかページの左上に「') ?>」と表示されて 動作していません。(動的なコンテンツ以外のコンテンツはページに適切に表示されます) すごく大まかで恐縮ですが、このような場合どのような原因が 考えられるでしょうか? ・別の簡単なPHPは動作したのでPHP設定云々ではなさそうです ・DBへの接続は確認済みです ・Bという領域のPHPを読み込んでもAという領域のDBに接続してデータを書きだすようにしても 同じようにページの左上に「') ?>」が表示されて、データが読み込まれません。 もし「こういうところをチェックしてみては?」という点があれば ご指摘いただければ幸いです。 よろしくお願いいたします。

みんなの回答

  • BellBell
  • ベストアンサー率54% (327/598)
回答No.3

とりあえず、PHPとして動作していないという事だけは判りますが。 <?php echo('<?xml version="1.0" encoding="UTF-8"?>') ?>のうち、 ブラウザが<?~?>をコメントのように扱って表示していないという結果ですので、『<?』以降最初に出てくる『?>』までが非表示。 つまり、『<?php echo('<?xml version="1.0" encoding="UTF-8"?>』が非表示、残りの『') ?>』だけが表示されるという結果です。 動作しないファイルの拡張子は、『.php』になっていますかね? 元のサイト(A)は、拡張子htmlをPHPとして動くように設定しているなんて事はありませんか? .htaccessのアップロードのし忘れか、ローカルではhtaccess.txtとなっていて、アップロードしてからリネームする必要があるのにそれを忘れているのかも。 サーバ設定画面などで、『この拡張子をPHPとして動作させる』という設定があるのかも知れません。

welovered
質問者

お礼

ありがとうございました!!解決しました!! 本当にうれしいです。

全文を見る
すると、全ての回答が全文表示されます。
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

とりあえずは、両方でphpinfo()の内容を見比べるところからですかね。簡単なスクリプトでは表面化しない違いがあるかもしれません。 >Aという領域で、仕様通り動作するPHPファイルを、 >Bという領域に置いても、なぜかページの左上に「') ?>」と表示されて >動作していません。 表示は「') ?>」だけということですが、ブラウザで「ソース表示」にしたときも他のテキストはありませんか?htmlとしては(コメント扱いなどになっていて)表示されないだけでソースには別のものもあったりしますので。

welovered
質問者

お礼

ありがとうございました!とても参考になりました。

welovered
質問者

補足

ご回答ありがとうございます。 ソースを見てみますと、 phpファイル冒頭にある ----------- <?php session_start(); require_once('./DBAccess.php'); require_once('./DBMonth.php'); $obj = new MyDBAccess(); require_once('./Function.php'); ?> <?php echo('<?xml version="1.0" encoding="UTF-8"?>') ?> ----------- などをはじめとして、<?php~~が全て見えてしまっていました。 これは、PHPが動いていないということなのでしょうか? もしお分かりになりましたらヒントをいただけますと大変ありがたいです。 phpinfoも見比べてみようと思います。

全文を見る
すると、全ての回答が全文表示されます。
noname#147388
noname#147388
回答No.1

phpinfo.php にて双方比較。

welovered
質問者

お礼

ありがとうございました!参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PHPでデータベースにアクセスするには?

    データベース初心者です。 レンタルサーバーはロリポップを使っています。 これからphpMyAdminを使ってデータベースを作ることが出来たらと考えております。先ずはその流れを把握しておきたいと思いましてPHPファイルからの接続を成功できたらと考えましたが、PHPについても知識に乏しくどのような記述にすればphpMyAdminに接続できるのかというところで止まってしまってます。 どなたかお詳しい方がいらっしゃいましたらご指導いただけたら幸いです。よろしくお願いいたします。 以下は他のサイトで見つけたのですが接続できないようです。 //接続 $connect = mysql_connect($server,$user,$pw); //データベース選択 mysql_select_db($database,$connect); //sql実行 $result = mysql_query($sql); //データ取得 mysql_data_seek($result,0); $a=mysql_fetch_array($result,MYSQL_NUM);

    • 締切済み
    • PHP
  • 勉強の甲斐あっていよいよPHPファイルをサーバーに

    PHPを勉強しはじめて半年になる初心者です。 勉強の甲斐あっていよいよPHPファイルをサーバーにアップする段階までこぎつけたのですが、Mysqlのデーターベースを動作させるところで躓いています。 localhostでは正常に動いているのが確認済みです。 PHPファイルはアップし動作するのですがMysqlはエラーが出てしまいます。 (はじめてなのでなにがなにやら分からない状態でとりあえずやっていますが) エラー内容は以下の通りです。 Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ユーザー名'@'パスワード' (using password: YES) in /home/vhosts/ドメイン/httpdocs/php/dbcon.php on line 2 Access denied for user 'ユーザー名'@'パスワード' (using password: YES) phpフォルダ内の内容は( index.php , dbcon.php , list,php , sdata.sql ) となっています。 dbcon.phpは、 <?php mysql_connect('ドメイン','ユーザー名','パスワード') or die(mysql_error()); mysql_select_db('sdata'); mysql_query('SET NAME UTF8'); ?> list.phpでsdata.sqlのデーターを一覧表示させると言った認識を持っています。 ここで足りない事、間違っている事など気が付きましたらお教え願えませんでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPとMySQL、INSERTの動作についての少し疑問点。

    PHPとMySQL、INSERTの動作についての少し疑問点。 現在、PHPとMySQLを使ってHPを作成しています。 会員登録のページが存在し、会員情報をDBに書き込む時にINSERT文を使用しているのですが この動作を複数の人が同時に行った場合、どうなるのでしょうか? DB・PHP・MySQL的にエラーが出るのであれば 『書き込み処理中は時間差で実行する』等の 何か回避策をしなければならないのですが・・・。 その辺りが少し疑問に思ったのでお伺いしたく思います。 初歩的な質問になりますがお教え頂ければ幸いです。 よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • フォームボタンを押して2つの動作をさせたい!

    フレームを組んでいます。 上をa.php、下をb.php。 a.phpに表があり、表の右側にボタンがあります。 このボタンを押すとその表の該当する行の詳細がb.phpに表示します。 ただ、この時にb.phpを表示すると同時にa.phpの表の元となっているDBへsutatus情報(0/1)を更新させたいと思っています。 要望としては無駄なページは開きたくないと思っています。 方法として思いつくのは (1)PHPだけで、b.php読み込むスクリプトとDBへ書き込むスクリプトを読み出す  ⇒この場合、ボタン1つでその動作をさせる方法が思いつきません。   a.phpをPHPでreloadさせる方法がわかりません。  (フォーム以外からPOSTできるのでしょうか?) (2)PHP+javascriptで実施する。  ⇒別の新規ページを表示させて自動的に閉じることで可能?   ただ、その場合の手段がわからない・・・。 といったところは思いつきましたが 肝心な部分がいろいろ調べましたがわかりませんでした。 詳しく教えていただければありがたいです。

    • 締切済み
    • PHP
  • php ログインID別 ページ表示

    お世話になっております。 PHP初心者です。 どなたかおわかりの方がいらっしゃいましたら、ご教授お願いいたします。 http://oshiete1.goo.ne.jp/qa5743557.html を拝見させていただいたのですが、上記のURLの記述にてログインIDによるページを変更するのはどうしたらよろしいのでしょうか? 例↓ NO1 ID:abc PW:1234 name:山田 NO2 ID:def PW:5678 name:佐藤 とDBに登録していたとします。 両方のIDとPWでログインしたときはmember.phpが表示される。 ここでIDによってmember.phpに表示されるリンクがかわる。 NO1でログインした場合member.phpにはcontents.phpあてのリンクが表示されている。 NO2でログインした場合はmemebr.phpにはcontents.phpとcontents2.phpあてのリンクが表示されるようにするにはどうしたらよろしいでしょうか? 上記のURLを参考にしたいので宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • 2つの異なるサーバーのDBを扱う

    現在、Visual Studio 2005(BASIC) を使って、Aのサーバー(IIS)に画像データを貯めるWebプログラムを作成しようとしています。この管理にはMDB形式のDBを使用する予定です。 ところが、このサービスを利用できるユーザーの管理は、Bのサーバー(UNIX MySQL)のDBで管理されています。 このように、Aのサーバーで動作するWebプログラムからBのサーバーのDBに接続することは可能なのでしょうか?

  • レンタルサーバでPHP(pico)からMySQLに接続したい

    初めて質問させていただきます。 phpもmySQLも初心者なのでもしおかしいところや足りないところがありましたらご指摘ください。 レンタルサーバ(お名前.com)にて、xoops cubeをインストール。 picoモジュールを追加。 phpmyadminモジュールを追加し、自前テーブルを作成。 picoのコンテンツ編集により、phpプログラムを記述し、自前テーブルに接続。 やっている内容は、 リストボックスで選択された単語からDBを検索するフォームをPOSTで送信 次ページにて一覧を表示する です。 自分記述したphpプログラムでDBConnectしています。 問題箇所は、 検索結果は表示され、想定した通りのhtmlが表示されるのですが、ページの一番下に以下のコメントが表示されてしまいます。 Warning [PHP]: mysql_real_escape_string() [function.mysql-real-escape-string]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in file xoops_trust_path/modules/pico/main/index.php line 83 Warning [PHP]: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in file xoops_trust_path/modules/pico/main/index.php line 83 色々調べてみたところ、socketの相違だと思い、以下を調べました。 phpinfo()にて表示されたsocketは「/tmp/mysql.sock」 phpmyadminから見た変数socketは「/tmp/mysql.sock」 上記のように、相違はない模様。 DBの内容も取って来れてるので問題はないのですが、画面に常にエラー表示がされてしまうのはとても気になります。 原因に思い当たるふしがあればご教授願えませんでしょうか。 ちなみにレンタルサーバなのでphp.iniは変更出来ません。

    • 締切済み
    • PHP
  • Debian/GNU Linux V.3.1r1 + PHP4で PHPが突然動作しない

    お世話になります。 Debian/GNU Linux V3.1r1で突然PHP4が動作しなくなってしまいました。 (ダウンロードしますか?となってしまう) 日経Linux2006-1の特集2に記事を参考に、 aptitude install apache2 libapache2-mod-php4 php4-mysql mysql-server としてLAMP環境を用意しました。 数日は正常に動作していたのですが、 (<?php phpinfo(); ?>も正常に表示していました。) 突然上記の状況となりました。 実は、この現象は一度経験があり、その際は aptitude remove apache2 libapache2-mod-php4 php4-mysql mysql-server をして aptitude install apache2 libapache2-mod-php4 php4-mysql mysql-server をしたところ回復しました。 今回は、MySQL内に若干データを入れたのでアンインストール&再インストールの手順は避けたいと思います。 aptitude remove apache2 libapache2-mod-php4 aptitude install apache2 libapache2-mod-php4 では解決しませんでした。 Apache2のデフォルトページは見れるので、Apache2は動作しているようです。 PHP4のモジュールがロードされる記述が見つけられないのですが、どういう仕組みでPHP4のモジュールはロードされるのでしょうか。 また、そのほかにはどのような確認をしたらいいでしょうか。

  • ファーストサーバのレンタルサーバーについて

    phpMyAdminからMySQLのDBにデータを入力し、単純にSQL文でWeb上にデータ表示させようとしたのですが、 select文で抽出した日本語が"??"表示されてしまいます。 原因が分らず非常に困っています。 皆様のお力を貸していただけると助かります。 宜しくお願いします。 環境は以下の通りです。 Linux 2.6.x PHP 4.4.7 MySQL 5.0.24a [バイナリ スタンダード版] DBの接続照合順序は「ujis_japanese_ci」で作成 PHPファイルはEUCにて作成 ヘッダー部分 <?php header("Content-Type: text/plain; charset=EUC-JP"); define("ENCDB", "EUC-JP"); error_reporting(4); session_start(); ?> <?php $db = mysql_connect( 'fsv12345678.mysql.db.fsv.jp','TEST','TEST') or die('DB接続失敗 = ' . mysql_error()); mysql_select_db( 'kanri', $db) or die('DB選択失敗 = ' . mysql_error()); $query = "select ID, pass, name from kanri"; $result = mysql_query($query); if(mysql_num_rows($result) != 0) { ?> <table width="400" class="style3" border="1" cellpadding="5"> <tr bgcolor="#CCCCCC"> <td width="100">ID</td> <td width="100">PASS</td> <td width="200">名前</td> </tr> <?php while($row = mysql_fetch_array($result)){ ?> <tr valign="baseline"> <td><?= $row["ID"] ?></td> <td><?= $row["pass"] ?></td> <td><?= $row["name"] ?></td> </tr> <?php } mysql_close($db); ?> </table>

    • ベストアンサー
    • MySQL
  • feedcreator.class.phpを導入したいのですが

    ホームページをRSS配信させようとfeedcreator.class.phpを ダウンロードし、サーバーのルートフォルダーにもアップしました。 http://www.yung.jp/hp/php/rss.php 必要事項は上記見て、書き換えました。 http://prime.jp/×××/hoge/feedcreator.class.php にアクセスし、実行したところ、エラーはでずまっしろのページが 表示されます。 そのまっしろページのソースを確認したところ、BODY~BODYに なにも表示されていないので データベース(MYSQL)から取得できていないと思いました。 そこで、feedcreator.class.php(130行目) mysql_select_db($dbHost, $dbUser, $dbPass); $res = mysql_query("SELECT * FROM news ORDER BY newsdate DESC"); が怪しいのですが、データベース接続されていないのですが、 よいのでしょうか?どこでデータベースに接続しているのでしょうか? 私ならデータベースから値をとるときまず下記のようにコードを書きます $db = @mysql_connect(DIARY_DB_HOST, DIARY_DB_USER, DIARY_DB_PASS); @mysql_select_db(DIARY_DB_NAME, $db); そもそも http://prime.jp/×××/hoge/feedcreator.class.phpに アクセスすれば、指定フォルダーにfeed.xmlなり、xmlファイルが 動的にできると理解しているのですが、あっているでしょうか? 本業ではないプログラマーのためわかりやすく教えてくれると ありがたいです。

    • ベストアンサー
    • PHP