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

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

新規登録して質問してみよう
ただいま回答率
86.12%
Node.js

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

PHP

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

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

解決済

ReplitでPHPファイルをExpressで読み込めない

Waki285
Waki285

総合スコア2014

Node.js

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

PHP

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

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

1回答

0グッド

0クリップ

4555閲覧

投稿2021/07/21 10:12

Replitを使って、PHPをウェブサイトで表示しようとしていますが、エラーが出ていて表示できません。
エラーを解決して、ページを表示するにはどうすればいいでしょうか。

コード

index.js

js

1const express = require("express"); 2const app = express(); 3 4app.set("views", __dirname + "/views"); 5const phpExpress = require('php-express')({ 6 binPath: 'php' 7}); 8app.engine('php', phpExpress.engine); 9app.set("view engine", "php"); 10app.all(/.+.php$/, phpExpress.router); 11app.get("/", function(req, res) { 12 res.render("index"); 13}); 14app.listen(8080, () => console.log("SUCCESS"))

views/index.php

php

1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <title>PHPウェブページ</title> 6 </head> 7 <body> 8 <?php 9 print 'Hello World!'; 10 ?> 11 </body> 12</html>

コード構想

views └index.php index.js package.json package-lock.json

発生しているエラーメッセージ

xl

1Error: Command failed: php /home/runner/phpkiso/node_modules/php-express/lib/PHPExpress/../../page_runner.php /home/runner/phpkiso/views /home/runner/phpkiso/views/index.php 2/bin/sh: 1: php: not found 3 4 at ChildProcess.exithandler (child_process.js:308:12) 5 at ChildProcess.emit (events.js:314:20) 6 at ChildProcess.EventEmitter.emit (domain.js:483:12) 7 at maybeClose (internal/child_process.js:1022:16) 8 at Socket.<anonymous> (internal/child_process.js:444:11) 9 at Socket.emit (events.js:314:20) 10 at Socket.EventEmitter.emit (domain.js:483:12) 11 at Pipe.<anonymous> (net.js:675:12)

環境

  • 開発環境:Replit
  • Node.js: v12.22.1
  • 使用パッケージインストーラー:yarn
  • Express:v4.17.1
  • php-express:v0.0.3

以下のような質問にはグッドを送りましょう

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

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

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

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

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

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

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

適切な質問に修正を依頼しましょう。

hoshi-takanori

2021/07/21 21:32

express から php を呼び出す意味が分かりませんが、とりあえず binPath にはフルパスで php の場所を指定する必要があるのでは。

回答1

0

自己解決

Replitのaskをみたら、できないと書いてありました。
https://replit.com/talk/ask/PHP-with-Expressjs/60962

投稿2021/07/22 00:40

Waki285

総合スコア2014

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

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

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

このような回答には修正を依頼しましょう。

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

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

Node.js

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

PHP

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

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。