• ベストアンサー

<?php phpinfo(); ?>と<? phpinfo(); ?>の違い。

OpenPNE のインストールで色々調べており、以下のサイトで質問させて頂いております。 Fatal error: OpenPNE設置時のエラー に関して http://oshiete1.goo.ne.jp/qa2511321.html 色々調べており、PHP に関する問題では思っていますが、正直な所、PHP を触るのが初めてですので、初心に戻って PHP から調べています。 サーバは、さくらインターネットを借りており、基本的に apache,php 等は標準で動作しています(インストール作業はしていません)。 PHP の動作確認をしようと、 <? phpinfo(); ?> と書いたテキストファイルを作成してサーバにアップロードしました。 ファイル名は、test.php としました。 アップロード後、サーバにアクセス(test.php)すると白紙(真っ白)な状態です。ソースを確認すると<? phpinfo(); ?>が表示されます。ファイルは詠み込まれていると判断しました。 少し調べ所、 <? phpinfo(); ?>を<?php phpinfo(); ?>としたらどうでしょうかと言うアドバイスが有り、<?php phpinfo(); ?>と修正し、サーバにアップロードしら所、phpinfo のページを見ることが出来ました。 そこで質問なんですが<?php phpinfo(); ?>と<? phpinfo(); ?>は何が違うのでしょうか、サーバ側の設定でしょうか。 また、この違いが、OpenPNE のエラーと関係があるのでしゅか? アドバイスを頂ければ幸いです。

  • PHP
  • 回答数4
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

サーバのphp.iniで設定されます short_open_tag という項目になります。 OpenPNEがshort open tag=offに対応しているかは知りませんが .htaccessが使えればユーザ側で設定を変えることは出来ます。

参考URL:
http://jp.php.net/manual/ja/ini.core.php#ini.short-open-tag
maruhyper
質問者

補足

こんにちは。 アドバスをありがとうございます。 php.ini を確認した所 short_open_tag = Off となっていました。 Off を On と書き換えましたが、<? phpinfo(); ?> だとページが表示されません。<?php phpinfo(); ?> は問題無く表示します。 作業手順としては、php.ini を開いて short_open_tag の項目で、Off を On と修正しました。修正後 php の再起動はしていません。php 必要に応じて起動すると理解していますが間違っているでしょうか。 他に何か足りないでしょうか、アドバイスを頂ければ幸いです。

その他の回答 (3)

  • Yeti21
  • ベストアンサー率47% (396/830)
回答No.4

php.iniを変更された後、Apache(で良いでしょうか?)を再起動されたでしょうか? もし、されていなければ再起動後に再度確認してみてください。

maruhyper
質問者

お礼

こんにちは。 アドバイスをありがとうございます。 再度、apache を再起動させた所、<? phpinfo(); ?> でも、phpinfo を開くことが出来ました。 apache の再起動が必要だったですね。勉強になりました。 これでこの質問は終了にさせて頂きます。 アドバイスをして頂いた皆様、ありがとうございました。

回答No.3

<?php は、PHPスクリプトの始まりを示します。スクリプトの実行エンジンは、<?php以降をPHPスクリプトとして解釈して実行します。 <?は、<?phpを省略した表現です。 PHPの設定によっては、省略した記法を許します。設定によっては許しません。maruhyperさんの環境では、省略を許容しないようになっているのでしょう。省略を許容しない設定では、<? phpinfo(); ?>はPHPスクリプトとはみなされないため、そのままHTMLソースに表示されます。 PHPの設定では、php.iniというファイルを使います。省略を許容するかは、php.iniの中のshort_open_tagという項目で設定します。 OpenPNEの方は、よく判りません。恐らく本件とは関係ないと思います。 Fatal error: Call to undefined function preg_match() in ... preg_matchは普通にインストールしたら使える関数です。undefinedなはずは無いんですが。サーバ環境がおかしいのかなとも思います。 以下のようなテスト用のスクリプトをサーバ上に置いて、ブラウザからたたいてみて、同じエラーがでるようならば、レンタルサーバの管理者に問合せた方がよいと思いますよ。 <?php if (preg_match("/ho.e/","fugahoge")) { echo "match"; } else { echo "unmatch"; } ?>

maruhyper
質問者

お礼

こんにちは。 適切なアドバイスをして頂きありがとうございました。 お礼のポイントをお付けすることが出来ず申し訳ありません。 アドバイスをして頂いたことで、OpenPNE の設置に関して、php 以外に私の全般的なスキル不足で、他にも原因が有ることが判明しました。 もっと調べて OpenPNE を設置出来るように努力いたしたいと思います。php の参考スクリプトはとても為になりました。

maruhyper
質問者

補足

こんにちは。 アドバスをありがとうございます。 php.ini に関しては、No1 で補足させて頂いた状況です。 <?php phpinfo(); ?>と<? phpinfo(); ?> の違いに関して、OpenPNE に関しては関係ないのではという件、了解いたしました。 <?php if (preg_match("/ho.e/","fugahoge")) { echo "match"; } else { echo "unmatch"; } ?> 上記スクリプトは試してみました。ファイルを実行した所、 match と帰ってきました。 この状態なら、php の動作に問題無いと判断して良いのでしょうか。

  • Yeti21
  • ベストアンサー率47% (396/830)
回答No.2

「<?」は「<?php」の短縮形ですね。 php.iniのshort_open_tagが有効になっ ている場合か、 PHPが--enable-short-tagsオプションでconfigureされている場合に使用できます。

maruhyper
質問者

補足

こんにちは。 アドバスをありがとうございます。 php.ini に関しては、No1 で補足させて頂いた状況です。 「<?」は「<?php」とのこと、勉強になりました。 インストールは、自身で行っていないので詳細が判りません。 引き続き何かアドバイスを頂ければ幸いです、

関連するQ&A

  • <?php phpinfo();?>でもただ文字がそのまま表示されるだけ

    apache HTTP Server 2.2.15(ファイル名「httpd-2.2.15-win32-x86-no_ssl.msi」)をインストールした後、 php-5.3.2-nts-Win32-VC9-x86.msiをwebサーバーをother CGIでインストールし、 http://localhost/ にアクセスしたところ「It works!」と表示されるのですが、 htdocsフォルダに、メモ帳に<?php phpinfo();?>と書きファイル名をtest.phpに変更したものを置き、 http://localhost/test.php にアクセスしてもそのまま<?php phpinfo();?>が表示されるだけです。 phpinfoを表示するにはどこをどうすればよいのでしょうか? いろいろ調べてみたのですが、zipパッケージや古いバージョンのことがかいてあるものしか見つからなくて困っています。

    • 締切済み
    • PHP
  • phpinfo.phpを開くとファイルのダウンロードになる

    phpの動作確認のため、phpinfo.phpファイルを作成しました。 <?php  phpinfo(); ?> という内容のphpファイルなのですが、ブラウザで確認しようとすると 「ファイルのダウンロード」というメッセージが表示され、肝心の phpの動作確認が出来ない状態です。 普通に開いて動作確認するためにはどうすればいいのでしょうか? アドバイスをお願いいたします。 ※phpの設定変更等は完了しています。

  • phpinfoが表示されない

    環境は以下の通りとなります。 OS:centos6.8 SW:apache2.4.20 SW:php.7.0.9 インストールしてapacheまでの動作確認やバージョンの確認まではできております。 ただ、phpinfo()が表示されなくて、phpファイル全体が機能していないようです。 調べたらPHP7のモジュールを読み込ませる記述がhttpd.confになく、モジュールも ないようです。 php7のモジュールのインストール方法を教えていただけますでしょうか。

  • <?php phpinfo(); ?>が出たり出なかったり

    ApacheとPHPをインストールしました バージョンは   Apache 2.0.50   php-5.0.1-Win32.zip info.phpというファイルに下記の内容をいれ <?php phpinfo(); ?> これをホームディレクトリーに置いて http://localhost/info.php と入力すると  ページが表示できません、→エラー  表示されました→で画面は真っ白  その他のエラーがでますが たまーに成功してphp情報が出ます こうした状況ではどうアプローチしたらいいでしょう なおPHPの設定は; 1.php.iniの設定と配置 2.httpd.confの修正とApacheの再起動 3.libmysql.dllの配置 を行っています 設定が間違っていれば、php情報は表示されない はずだし、困っています 成功してphpが表示されるのは20回に一回くらい それは、更新ボタンを何回もたたいています 再起動したからでるものでもないようです

    • ベストアンサー
    • PHP
  • 教えてくださいphp初期設定の確認で、phpinfo スクリプトのままブラウザ表示されます。

    Apacheとphpをインストールしてhttpd.confの設定を以下のように追記。動作確認で test.phpファイルを作成して test.phpファイルの記述。 <?php phpinfo(); ?> htdocsディレクトリに保存しましたが、ブラウザで確認するとphpinfo でスクリプトが表示されます。なにが足りないのでしょうか? 教えてください。 詳細環境 Windows2000 apache_1.3.24 インストール先 C:/Apache Group php-4.1.2 インストール先 C:/php4 httpd.confの設定追記 ScriptAlias /php4/ "C:/php4/" AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps Action application/x-httpd-php /php4/php.exe DirectoryIndex index.php Apacheを再起動 はやくスタートラインに並びたいです。 ご存知のかた教えてください。

    • ベストアンサー
    • PHP
  • phpinfoがスクリプトのまま表示される

    Windows XP でApache2.0.46をインストールしテスト画面は成功し、次にphp4.3.2をインストールしたのですが <?php phpinfo(); ?> ブラウザにphpのインフォメーション画面が表示されません。 スクリプトが <?php phpinfo(); ?> このまま表示されます。ページにエラーがでるわけではなく入力したスクリプトのまま表示されてしまいます。 なのでphpinfo.php の保存場所や ブラウザで開く際の URL が違っている ということもなさそうですし、 ファイル修正後、Apache を再起動もしています。 httpd.conf 又は php.ini の修正もしているんですが。 何が原因なのでしょうか? 宜しくお願いします。 初心者でわからないのですがApacheを起動させていると外部からアクセスされるのでしょうか? phpの学習が目的なのですが。セキュリティは大丈夫なのでしょうか?

    • 締切済み
    • PHP
  • phpinfoの表示内容

    いつもお世話になっております。 サーバ:FreeBSD4.11 + Apache1.3.33 + php4-4.3.11_1 をインストールし、phpinfoファイルを実行したところ別のPC(WinXP + Apache2.0.50 + php5.0.1)の情報を返してしまいます。 PHPのインストールされていない他のPCから実行しても、同じPCのPHPの情報を返してしまいます。 どのように対応したら宜しいでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • windows2003serverにapache,PHP,MySqlをインストールして動かしたい

    はじめまして・・・サーバーが動きません OS:windows2003R2SP2で Apache2.0.59 PHP4.4.6 Mysql4.0.26 をインストールして動かしたいのですが…動きません Mysql→Apache→PHPの順でインストール Mysql、apache、は普通にインストールでき動作確認が出来ました。 PHPをインストールして…Apacheからphpinfo()を流すと…そのまんまブラウザに出力[<?phpinfo();?>]されます。 コマンドプロンプト→PHP d:\htdocs\phpinfo.phpを流すときちんとコマンドプロンプト上では出力されます。 何が悪いのでしょうか? 同じ開発端末windows200proでは同じ構成で普通に動作しています。 IISをインストールしてFTPサーバーを動かしているからでしょうか? それともwindows2003server無理なのでしょうか? よろしくお願いします。

  • ローカルでPHPファイルが実行されません

    http://localhost/test.php <?php phpinfo(); ?> 見ると、タグがそのまま表示されてしまい、実行されません。 何を直せばローカルでも動くようになりますか? Win8.1 アパッチインストール済 サーバー上にアップしてみると、きちんと動作確認できます。 文字コードUTF-8 BOMなし ・・でもアップする前にローカルで確認したいんです。 php.ini ファイルがないのが原因でしょうか。 詳しい方、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • phpinfoは表示されるのにその他のphpファイルが表示されない

    すみません困っています。 使用中PCをリカバリして,apache2.0.63 php5.1.2 mysql5.0.18を再インストールし,諸設定を済ませました。 コマンドプロンプトでmysqlのテーブルデータを抽出すると(select * from・・・)文字化けするのが未解決ですが,それよりもphpの動作確認のためドキュメントルートC:/Program Files/Apache Group/Apache2/htdocs/に,info.php(<?php phpinfo(); ?>)とtest.php(<? echo "test"; ?>)を配置してブラウザで確認していますが,info.phpは正常に表示されますが,test.phpでは何も表示されません(真っ白)。 mysqlの文字化けと関係しているのでしょうか? 月曜日までにWebアンケートを実施しなくてはいけません。 ※データベース等はリカバリ前にバックアップします ※ブラウザについてはプライバシー情報をクリアしています

    • ベストアンサー
    • PHP

専門家に質問してみよう