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

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

ただいまの
回答率

90.61%

  • PHP

    19904questions

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

  • MacOS(OSX)

    1850questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • nginx

    820questions

    nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

MacOS10.10にて、NGINX + PHP-FPM で<? phpのコード ?>が動作しない

解決済

回答 2

投稿 ・編集

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

conbufan

score 4

もはや私の知識では調べる方法も底を尽きました...。
どなたかご助力いただけると幸いでございます。

環境 :

MacOS 10.10.1
Homebrew 0.9.5
nginx 1.6.2
php,php-fpm PHP 5.3.29


やりたいこと:

nginxでphpを80番ポートで動作させたい。


現状:

静的なhtmlは出力されるものの、<? ... ?>のphpコードも静的なもの(そのまま)として出力される


nginxのconf :

4 user  nginx;

...中略...

105     server {
106         listen          127.0.0.1:80 ;
107         server_name     test.local;
108 
109         location / {
110                 root /Users/hoge/www/test/httpdocs ;
111                 index index.html index.php;
112         }
113 
114         location ~\.php$ {
115                 #root           html;
116                 root             /Users/hoge/www/test/httpdocs ;
117                 fastcgi_pass   127.0.0.1:9000;
118                 fastcgi_index  index.php;
119                 fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
120                 include        fastcgi_params;
121         }
122     }


php-fpmのconf :

以下は、デフォルトから変更しているところと、重要そうな部分のみ。

;pid = run/php-fpm.pid #コメントアウト状態
error_log = log/php-fpm.error.log
user = nginx
group = nginx
listen = 127.0.0.1:9000


実行したいファイル(index.php):

ほげほげ<? echo ("hogehoge"); ?>


実行手順:

1、$sudo /usr/local/opt/nginx/bin/nginx
2、$sudo /usr/local/Cellar/php53/5.3.29/sbin/php-fpm --fpm-config /usr/local/etc/php/5.3/php-fpm.conf
3、ブラウザでhttp://test.local/index.phpでアクセス

以上

(80番ポートを指定するためには、sudoで実行しなければいけない、またnginxのuserディレクティブ、php-fpmのuserディレクティブは、master processで実行しないとignore、というwarnメッセージが吐かれる、という点から、sudoで実行しています。)


結果:

ブラウザ上には
「ほげほげ」と表示される。
ソースを見ると「ほげほげ<? echo ("hogehoge"); ?>」
となっている。


実行直後のLOG:

nginxの error.log:
2015/01/23 17:59:19 [notice] 2509#0: signal process started

php-fpmのlog:
何も出ない

確認:
sudo ps aux | grep nginx

root             2513   0.0  0.0  2457948    420   ??  Ss    5:59PM   0:00.00 nginx: master process /usr/local/opt/nginx/bin/nginx
nginx            2451   0.0  0.0  2499044    600   ??  S     5:37PM   0:00.00 /usr/local/Cellar/php53/5.3.29/sbin/php-fpm --fpm-config /usr/local/etc/php/5.3/php-fpm.conf
nginx            2450   0.0  0.0  2506212    580   ??  S     5:37PM   0:00.00 /usr/local/Cellar/php53/5.3.29/sbin/php-fpm --fpm-config /usr/local/etc/php/5.3/php-fpm.conf
nginx            2449   0.0  0.0  2498020    604   ??  S     5:37PM   0:00.00 /usr/local/Cellar/php53/5.3.29/sbin/php-fpm --fpm-config /usr/local/etc/php/5.3/php-fpm.conf
yamada   2534   0.0  0.0  2432772    664 s004  S+    6:13PM   0:00.00 grep nginx
root             2525   0.0  0.0  2452852   2044 s001  S+    6:02PM   0:00.01 vi /usr/local/etc/nginx/nginx.conf
root             2524   0.0  0.0  2443340   2488 s001  S+    6:02PM   0:00.01 sudo vi /usr/local/etc/nginx/nginx.conf
nginx            2514   0.0  0.0  2457948    972   ??  S     5:59PM   0:00.00 nginx: worker process


確認:
sudo ps aux | grep php-fpm

nginx            2451   0.0  0.0  2499044    600   ??  S     5:37PM   0:00.00 /usr/local/Cellar/php53/5.3.29/sbin/php-fpm --fpm-config /usr/local/etc/php/5.3/php-fpm.conf
nginx            2450   0.0  0.0  2506212    580   ??  S     5:37PM   0:00.00 /usr/local/Cellar/php53/5.3.29/sbin/php-fpm --fpm-config /usr/local/etc/php/5.3/php-fpm.conf
nginx            2449   0.0  0.0  2498020    604   ??  S     5:37PM   0:00.00 /usr/local/Cellar/php53/5.3.29/sbin/php-fpm --fpm-config /usr/local/etc/php/5.3/php-fpm.conf
root             2448   0.0  0.0  2498020   7988   ??  Ss    5:37PM   0:00.15 /usr/local/Cellar/php53/5.3.29/sbin/php-fpm --fpm-config /usr/local/etc/php/5.3/php-fpm.conf
root             2447   0.0  0.0  2452556   2520 s002  S+    5:37PM   0:00.01 sudo /usr/local/Cellar/php53/5.3.29/sbin/php-fpm --fpm-config /usr/local/etc/php/5.3/php-fpm.conf
yamada   2543   0.0  0.0  2432772    664 s004  S+    6:15PM   0:00.00 grep php-fpm


確認:
sudo lsof -i:80

COMMAND    PID           USER   FD   TYPE            DEVICE SIZE/OFF NODE NAME
plugin_ho 1424 yamada   29u  IPv4 0xdcfebc37866e5bf      0t0  TCP 192.168.2.12:50397->209-20-75-76.slicehost.net:http (CLOSE_WAIT)
nginx     2513           root    6u  IPv4 0xdcfebc39565b27f      0t0  TCP localhost:http (LISTEN)
nginx     2514          nginx    6u  IPv4 0xdcfebc39565b27f      0t0  TCP localhost:http (LISTEN)

確認:
sudo lsof -i:9000

COMMAND  PID  USER   FD   TYPE            DEVICE SIZE/OFF NODE NAME
php-fpm 2448  root    6u  IPv4 0xdcfebc397daa75f      0t0  TCP localhost:cslistener (LISTEN)
php-fpm 2449 nginx    0u  IPv4 0xdcfebc397daa75f      0t0  TCP localhost:cslistener (LISTEN)
php-fpm 2450 nginx    0u  IPv4 0xdcfebc397daa75f      0t0  TCP localhost:cslistener (LISTEN)
php-fpm 2451 nginx    0u  IPv4 0xdcfebc397daa75f      0t0  TCP localhost:cslistener (LISTEN)

  • - - - - - - - - - - - -

lsofを見ると、80番ポートでnginxが、
9000番ポートでphp-fpmが動いています。
nginxの設定ファイルでは、\.phpの処理として、
127.0.0.1:9000にアクセスさせています。

ですが、phpが処理されません...。
これ以上調べる術を知らないため、手ずまりとなっております....。
どなたかアドバイスをいただけるととても助かります。

よろしくお願いいたします。
  • 気になる質問をクリップする

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 2

checkベストアンサー

0

<? echo ("hogehoge"); ?>
ではなく、

<?php echo ("hogehoge"); ?>
だとどうでしょう?


http://php.net/manual/ja/ini.core.php#ini.short-open-tag
は、最近はデフォルトではoffだと思うので。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/01/24 21:24

    ・・・うごきました・・・。
    ありがとうございました、大変感謝しております。

    (そして、ここまでかかった時間が悔しくもあります・・・)

    キャンセル

  • 2015/01/24 21:54

    お。当たって良かったです!

    キャンセル

  • 2015/01/26 17:28

    ありがとうございました!(非常に助かりました!そして非常に悔しいですw!)

    キャンセル

  • 2015/01/27 12:54

    しょうがないです。ハマって、調べて、乗り越えて、知識を付けていくんです!

    キャンセル

0

php-fpm.confpidが設定されていないせいではないでしょうか。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/01/23 21:31

    ご回答ありがとうございます。
    確かに、試していなかったので、php-fpmの
    pid = run/php-fpm.pid
    をコメントをトリ、
    php-fpmを再起動。また、nginxも再起動してみたのですが、残念ながら挙動は変わりませんでした。。
    ちなみに、上記のとおりの、pidファイルは出来てました。
    -rw-r--r-- 1 root admin 4 1 23 21:25 php-fpm.pid

    キャンセル

  • 2015/01/23 21:50

    pid = /var/run/php-fpm.pidのようにフルパスにした場合どうなりますか?

    キャンセル

  • 2015/01/23 23:01

    ありがとうございます。

    nginxのpidも同じ場所にあるので
    pid = /usr/local/var/run/php-fpm.pid
    に設定しました、が・・・だめですね・・。同じ状態でした。
    ログも同じように、何も残っていない状態でした。

    キャンセル

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

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

関連した質問

同じタグがついた質問を見る

  • PHP

    19904questions

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

  • MacOS(OSX)

    1850questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • nginx

    820questions

    nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。