node.js - 如何在zend等MVC框架中使用exec-php(node js)?

标签 node.js zend-framework exec

基本上我想要在这里做的是将数据获取到 Node 服务器js中,这些数据是从写入Zend模型的函数返回的数据。

我的node js服务器代码如下:

var socket = require( 'socket.io' );
var express = require( 'express' );
var http = require( 'http' );
var execPhp = require('exec-php');

var app = express();
var server = http.createServer( app );

var io = socket.listen( server );

execPhp('../application/modules/front/models/Dbtable/Postcontent.php', 
function(error, php, outprint){
php.fetchEntryAll(function(error, result){
io.sockets.emit('showfeeds', result);
});
});

server.listen( 7000 );

所以当我尝试执行上面的代码时,它给出了如下错误:

错误:命令失败:PHP fatal error :在第 3 行的/Data/www/XXX/application/modules/front/models/Dbtable/Postcontent.php 中找不到类“Zend_Db_Table_Abstract”

当我使用核心 PHP 而不是 Zend 时,相同的代码可以工作。

所以我相信我们不能在 exec-php 中使用 OOP 的东西。

有什么解决办法吗?

exec-php 的引用链接: https://www.npmjs.com/package/exec-php

最佳答案

您遇到的问题与 OOP 无关,而是与自动加载对象类文件有关。

虽然您为第一个文件定义了路径,但以下部分或全部文件没有为其依赖项定义路径 - 就像抽象类一样。

ZF1 文件实际上应该有 require 语句并且无需自动加载器即可工作。您所缺少和需要的内容在您自己的模块文件中是相同的。

在您的 application/modules/front/models/Dbtable/Postcontent.php 文件中,您必须提示抽象类的路径作为 require_once 声明。

关于node.js - 如何在zend等MVC框架中使用exec-php(node js)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31118276/

相关文章:

mysql - Zend db 更新值未设置

node.js - 如何防止node.js exec缓存结果?

node.js - 如何发送外部文件,只使用 url(https ://. ....)

javascript - 尝试动态更改导航栏中的 "active"类 - Node.js/Express/Handlebars

node.js - 如何启动我从其他人那里获得的 Docker 容器?

php - 为什么在使用 zend 框架时脚本会被赋予 .phtml 扩展名?

javascript - 如何动态添加输入字段和子字段

php - Zend View Helper 中的数据库连接

我们可以使用 exec() 将 & 作为参数来启动后台进程吗?

linux - 使用 mv 命令 linux 时输出文件名