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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

PHP

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

Q&A

解決済

2回答

13545閲覧

nodejsでphp使えますでしょうか?

EzrealTrueshot

総合スコア388

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

PHP

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

0グッド

0クリップ

投稿2015/10/26 09:08

###前提・実現したいこと
nodejs で php(~~.phpファイルで中身は html + php) を使うことは可能でしょうか?

■前提
[nginx/apache環境でphpは使えている] ⇒ phpinfo();で確認済み。

■実現したいこと
nodejsでサーバーを立ち上げたときに fsモジュールで phpファイルを読みだして表示させたい。

###発生している問題・エラーメッセージ
php部分が動いていない!!(html部分はきちんと表示されています)
Content-typeがtext/htmlだからなんでしょうか;?

###ソースコード
app.js

var http = require('http'); var fs = require('fs'); var server = http.createServer(); server.on('request', doRequest); server.listen(1234); console.log('Server running!'); function doRequest(req,res){ fs.readFile('./hello.php','UTF-8',function(err,data){ res.writeHead(200,{'Content-Type':'text/html'}); res.write(data); res.end(); }); }

hello.php

<!DOCTYPE html> <html lang="ja"> <head> <title>Study of nodejs</title> </head> <body> this is nodejs test page. <br><br> <?php phpinfo(); ?> </body> </html>

###補足情報(言語/FW/ツール等のバージョンなど)
node --version v0.12.7
php --version 5.4.16

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

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

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

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

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

guest

回答2

0

ベストアンサー

同じサーバーにnodeとphpが同居するイメージですと、、

fsだとテキストとして扱われるので、phpのプロセスを直接呼び出したらどうでしょうか?
http://qiita.com/suin/items/e9597e43821f84cb180d

そのPHPプロセスにてhtmlに関係しない処理を行い、
その結果を反映したhtmlファイルを作成して
nodeはそのhtmlファイルを読み込んで表示するのはいかがでしょう。

投稿2015/10/26 10:13

buibui80

総合スコア1033

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

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

EzrealTrueshot

2015/10/27 03:08

回答ありがとうございます! なるほどですね、phpのプロセスを読んだ結果をhtmlに反映させ、そのhtmlを node app.js で読み込めばいけますね。 んー・・・ app.js に書きたいっす・・・ やはりムリですかね;
buibui80

2015/10/27 11:56

phpのプロセスを呼ぶ際にphp側でhtmlタグ含めてechoすればapp.jsだけでも完結できますよ。 例えば、 -------- <?php echo <<< EOM <!DOCTYPE html> <html lang="ja"> <head> <title>Study of nodejs</title> </head> <body> this is nodejs test page. <br><br> EOM; echo phpinfo(); echo <<< EOM </body> </html> EOM; ?> -------- の様にして結果をechoするphpプロセスを実行すれば受け取れるんじゃないかと思います。
guest

0

PHPファイルをNode.jsで読みだしても、それは「PHP命令が書かれたファイル」でしかないので、PHPとしての実行はされません。

それを前提にしての疑問なのですが、同じファイルをPHPとNode.jsの両方で処理したいという理由・事情はどのあたりにあるのでしょうか。それ次第でやるべきことが変わってきます。

投稿2015/10/26 09:17

maisumakun

総合スコア145183

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

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

EzrealTrueshot

2015/10/26 09:23

回答ありがとうございます! index.php というファイル(サイトのトップページ)を用意しまして、そこにアクセスがあったら、phpで取得してきた値を反映させたいのです。 index.phpの中身↓ <html> <head><title></title></head> <body> ようこそ~~ <?php php処理(ssh で他サーバーに入ってごにょごにょやる) php処理(その結果をプルダウンとして表示させる) ?> </body> </html> 伝わりづらかったらすみません。 こんな感じです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問