我在数字海洋有服务器,并试图运行自定义的PHP应用程序.在我的开发机器上:Mac OSX 10.7.5 PHP:5.3.6与mysql,mysqli,mysqlnd,pdo mysql
但在服务器上:Ubuntu 12.04 PHP:5.3.10
使用mysql,mysqli和pdo mysql
我需要mysqlnd来运行我的应用程序.如果我试试
apt-get install php5-mysqlnd
Run Code Online (Sandbox Code Playgroud)
它给出了错误:
The following packages will be REMOVED:
php5-mysql
The following NEW packages will be installed:
php5-mysqlnd
Run Code Online (Sandbox Code Playgroud)
如果我安装它,我的应用程序代码会因为它使用许多mysqli命令而中断.
我搜索并跟踪了许多相同主题的stackoverflow问题,但都是徒劳的.虽然,我没有尝试过配置选项
./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
Run Code Online (Sandbox Code Playgroud)
我不知道如何继续这个,我找不到和教程或文章.
我的开发机器有两个但服务器不能.
请指导.
我想开始使用Sequelize.我面临一些错误虽然想到并清除了其中一些,但这个我无法弄明白.
项目结构:
Project
-Client
-Server
--models
---index.js
---Sid.js
--router
---routes
----signup.js
---index.js
app.js
Run Code Online (Sandbox Code Playgroud)
我的配置变量:
"Lexstart": {
"dbConfig": {
"driver": "mysql",
"user": "root",
"database": "sid1",
"password": "sid1",
"host": "127.0.0.1",
"port": "3306"
}
}
Run Code Online (Sandbox Code Playgroud)
我的models/index.js:
var fs = require("fs");
var path = require("path");
var Sequelize = require('sequelize');
var config = require('config'); // we use node-config to handle environments
var dbConfig = config.get('Lexstart.dbConfig');
// initialize database connection
var sequelize = new Sequelize(
dbConfig.database,
dbConfig.username,
dbConfig.password,{
host: dbConfig.host,
dialect: dbConfig.driver
}
);
var db …Run Code Online (Sandbox Code Playgroud) 我知道在Nodejs / Express中兑现承诺的最佳方法是:
doSomeThing()
.then()
.then()
.catch();
Run Code Online (Sandbox Code Playgroud)
但是最近不得不使用async和q模块来遍历列表/数组并运行async函数。我想知道这样做/编写此方法的更好方法-
var deferred = Q.defer();
var deferred2 = Q.defer();
models.Local.findOne({
where: {
id: parseInt(req.body.localid)
}
})
.then(function(resultLocal){
if(!resultLocal){
return res.status(404).json(
{
"status" : "error",
'error': "Local Not Found"
});
}
return models.Documents.create(req.body.document);
})
.then(function(docCreated){
var attributes = req.body.document.Attributes;
async.each(attributes, function(item, callback) {
models.Doc_Tags.create({
value: item.value,
attribute_id: item.id,
document_id: docCreated.id
})
.then(function(attributeCreated){
var upObj = {};
upObj[item.col_name] = item.value;
models[item.table_name].update(upObj,{
where:{
id: req.body.document.local_id
}
})
.then(function(primaryUpdated){
deferred2.resolve();
})
.catch(function(error){
return res.status(400).json({status: 'error', error:error.message});
}); …Run Code Online (Sandbox Code Playgroud)