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

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

ただいまの
回答率

90.10%

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

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 1,439

yasu3

score 5

前提・実現したいこと

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をインストールすると、正常に動作します。
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+1

がると申します。

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

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/15 11: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

    キャンセル

  • 2017/05/15 21: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以外であれば、それを記載していただけると、なにかヒントになる、かもしれません。

    あとは…もし「ソースコードからコンパイル」であれば、それはそれで少しご案内できるか、とは思いますので、お声掛けください。

    キャンセル

  • 2017/05/16 17: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ファイルが入ります。

    キャンセル

check解決した方法

0

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

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

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.10%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる