質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

3065閲覧

phpのコンパイラが動作しない?

yasu3

総合スコア7

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/05/09 13:12

###前提・実現したいこと
AWS EC2 AmazonLinux上にx-debugが可能なLAMP環境を構築したいと考えています。

###発生している問題・エラーメッセージ
/var/www/html配下にphpinfo.phpファイルを設置しアクセスしたところ、
ブラウザ上に下記ソースをそのまま表示しています。

<?php phpinfo(); ?>

###試したこと
コマンドライン上から php -v を叩き、PHPのバージョンは表示されます。
source /opt/remi/php70/enableでパスを通しました。

PHP 7.0.18 (cli) (built: Apr 11 2017 13:37:50) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Xdebug v2.5.3, Copyright (c) 2002-2017, by Derick Rethans

###補足情報(言語/FW/ツール等のバージョンなど)

  • サーバー:Amazon Linux AMI release 2017.03
  • httpd.confでのドキュメントルートの変更はしていません。また、httpdの再起動は行いました。
  • インストールしたもの
    httpd24(含むhttpd24-tools)@epel/amzn-main
    php70 @remi/php70,php70-php,php70-php-pecl*

※php70の各種ツールをインストール。
※インストール時、disablerepo=amzn-main指定。
※conflict無く、正常に終了しました。

  • なお、リポジトリを全てamzn-mainでphp70をインストールすると、正常に動作します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

がると申します。

「ブラウザ上に下記ソースをそのまま表示しています」であれば、おそらく、httpdの設定かと思われますが如何でしょうか?
Apacheなのかnginxなのかそれ以外なのかが不明なので、それ以上の突っ込みが難しくはあるのですが。

「"使っているhttpdの名前" PHP 設定」

あたりのキーワードでググると、回答が見つかるのではないか、と思います。

以上、何かの参考にでもなれば幸いです。

投稿2017/05/09 14:18

gallu

総合スコア506

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yasu3

2017/05/09 15:53

がる様 ご回答、ありがとうございます。 そして、申し訳ありません、情報抜けてましたね、、、 Apacheは2.4.25になります。 教えて頂いたキーワードで検索をしてみたところ、httpdにlibphp7.soの記述をするべし、と見つけました。 先に/usr/lib64/httpd/modules/ 配下を確認してみたところ、libphp7.soが見当たらず、、、 findでルートから検索掛けてみたところ、これまた見当たらず、、、 インストールするものが、何か足りないのでしょうか?
gallu

2017/05/14 13:46

がるです。 すみません体調を壊して、少しご無沙汰をしておりました。 さて。.soがない、との事で。 PHPのインストール方法が不明なのでなんとも、なのですが。 もし「ソースコードからのinstall」であれば、configureの時に「 --with-apxs2 」等がついているかどうか、を確認してください。 もしyumでインストールの場合。 今、Docker環境でざっくりと確認をしたのですが。 yum install --enablerepo=remi,remi-php71 php php-devel php-mbstring php-pdo で、 [root@0bedc9495ee7 usr]# pwd /usr [root@0bedc9495ee7 usr]# find ./ -name libphp*.so ./lib64/httpd/modules/libphp7.so ./lib64/httpd/modules/libphp7-zts.so という状態だったので。 何となくの可能性なのですが、「php-devel」あたりが入っているかどうか、が判断材料でしょうか? (細かくは検証してないのですが)。 上述諸々を確認いただいて、またコメントをいただければ、(ちょっと体調が揺れてるので返信が遅くなるかもしれませんが)なにがしか、お出しできる知識が、或いはあるかもしれません。
yasu3

2017/05/15 02:27

がる様 体調がすぐれないところ、ご回答頂きありがとうございます! 私も仕事2件のうち、1件の納期が迫っているためレスが遅くて申し訳ありませんでした。 返信内に記述ありました内容で、答えられるものからお答えします。 ・PHPはyumからremiリポジトリでインストールすると、soが無い状態です。  amzn-mainからインストールすると、soは存在します。 ・php-develは、yumにてインストールしてあります。 昨晩、別案件用にvagrantにやはりxdebugをインストールしていたのですが、phpのバージョンが合っていれば、どのリポジトリのAPIもパスを通せば動くという認識で良いんでしょうか? というのも、phpはatomic、xdebugをremiから落とした状態で、httpd.confにxdebugのパスを通したら動いたもので・・・ 体調のよろしい時にでもご返信頂けると幸いですm(_ _)m
gallu

2017/05/15 12:32

拝見しました。 とりあえず「phpのバージョンが合っていれば、どのリポジトリのAPIもパスを通せば動くという認識で良い」については、Yesとなります。 あとはyumでのインストールで .so が入らないについて、ですが…普段はソースコードからコンパイルする事が多いので、些か、不明なところではあります。 私が試した手順は、CentOS7上で yum install epel-release rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum install --enablerepo=remi,remi-php71 php php-devel php-mbstring php-pdo という流れでした。 上述の流れで、今一度確認をしてみていただいてどうなるか、のような気もします。 或いは、OSがCentOS7以外であれば、それを記載していただけると、なにかヒントになる、かもしれません。 あとは…もし「ソースコードからコンパイル」であれば、それはそれで少しご案内できるか、とは思いますので、お声掛けください。
yasu3

2017/05/16 08:13

度々のレス、ありがとうございます! 基本的にコンパイルするところからはやりたくないなぁ・・・という事で、 yumでのインストールに固執しております(苦笑) と、言う訳でおおよそご指導頂いた内容は先に試した後での書き込みとなっています。 違いとしては、AmazonLinuxはCentOS6系のクローンらしいので、そちらに合わせたものをDLして展開しています。 sudo yum install epel-release rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm sudo yum -y install --enablerepo=remi-php70, php70-php php70-php-fpm php70-php-devel php70-php-pecl-xdebug php70-php-mbstring php70-php-openssl php70-php-mysqlnd php70-php-xml で、一応インストールは完了するという・・・ ちなみに、最初にも書きましたが enablerepoをepel(amzn-main)にすると、しっかりSOファイルが入ります。
guest

0

自己解決

「phpのバージョンが合っていれば、どのリポジトリのAPIもパスを通せば動くという認識で良い」については、Yesとなります。

をヒントに、設定を掛けることができました、、、

PHPファイル=epelリポジトリ
xdebug=remiリポジトリ

  • インストールを実行後、xdebug.soファイルの位置を検索。
  • 見つけたパスをphp.iniに書き込む。
  • httpd再起動後、phpinfo.phpで確認。

→OKでした。
ただ、なぜにremiではphp70のsoファイルが入らなったのかは謎です・・・

投稿2017/05/16 08:19

yasu3

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問