如何在Node.js中运行PHP脚本?
我正在尝试在Node.js中运行php代码。但是在浏览器中键入localhost:4000时,index.php的整个代码都会显示在浏览器中 Node.js代码如何在Node.js中运行PHP脚本?,php,node.js,Php,Node.js,我正在尝试在Node.js中运行php代码。但是在浏览器中键入localhost:4000时,index.php的整个代码都会显示在浏览器中 Node.js代码 var http = require('http'), fs = require('fs'), var app = http.createServer(function (request, response) { fs.readFile("index.php", 'utf-8', function (error, data) {
var http = require('http'),
fs = require('fs'),
var app = http.createServer(function (request, response) {
fs.readFile("index.php", 'utf-8', function (error, data) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.write(data);
response.end();
}); }).listen(4000);
PHP代码:
<?php
$handle = fopen("data.txt", "r");
if ($handle) {
while (($line = fgets($handle)) !== false) {
echo $line;
echo '<br>';
}
} else {
// error opening the file.
}
fclose($handle);
?>
所以,请让我知道,我如何通过node.js运行PHP代码,给我建议一些解决方案。node.js无法直接运行PHP。它不是PHP服务器,无法解析PHP代码。您可能能够使用JavaScript PHP垫片,但这些垫片可能不会有可靠的性能 一个这样的选项是,这是一个JavaScript PHP虚拟机,但即使如此,我也不建议这样做 我全心全意的建议是,如果您打算使用Node.js,就将代码转换为Node.js。您的代码转换起来也相对简单。请参阅Node.js的内置API。特别是,您已经在使用该函数读取PHP文件 如果需要将每一行转换为HTML分页符,这也相对简单。首先,您需要使用该方法将数据强制为字符串。您还可以使用正则表达式匹配,或者使用
split()
和join()
将换行符转换为
。对于本例,我将使用split()
/join()
方法
例如
fs.readFile('filename.txt','utf-8',函数(err,data){
var str=data.toString();
str=str.split(/\r\n |\r |\n/g).join(“”);
res.writeHead(200,{'Content-Type':'text/plain'});
res.write(str);
res.end();
});
PHP需要解释,您所做的只是获取文件内容并显示。我不知道你为什么要这样做,但这不是前进的方向。我不认为你可以,你需要在你的服务器上运行php。为什么要将Node与php混合使用。它们是两种服务器语言。您的节点服务器将不知道如何解释php文件好的,谢谢,您可以建议我,如何通过Node.js运行php脚本您需要运行php并以某种方式传递各种环境变量。这要么是一个非常广泛的主题,要么是一个预先编写的解决方案的建议。无论哪种方式,这都是离题的。
fs.readFile('filename.txt', 'utf-8', function(err, data) {
var str = data.toString();
str = str.split(/\r\n|\r|\n/g).join('</br>');
res.writeHead(200, {'Content-Type': 'text/plain'});
res.write(str);
res.end();
});