php环境informix,在Nginx + php-fpm(fastcgi)环境下配置informix的连接

本文介绍如何通过编译安装特定版本的PHP以支持Informix数据库,并详细说明了配置过程及注意事项。

buildconf: checking installation...

buildconf: autoconf version 2.59 (ok)

buildconf: Your version of autoconf likely contains buggy cache code.

Running cvsclean for you.

To avoid this, install autoconf-2.13.

rebuilding configure

这时,需要编译autoconf-2.13来避免此问题,编译autoconf-2.13的方法如下:

解压缩autoconf-2.13.tar.gz包,然后编译即可,而不需要覆盖现在的autoconf

nginx% gunzip autoconf-2.13.tar.gz | tar xvf -

在autoconf-2.13目录下

nginx% ./configure --prefix=/home/nginx/autoconfig213

完成后

nginx% make && make install

此时,autoconf编译完成,在环境变量中增加PHP_AUTOCONF和PHP_AUTOHEADER

nginx% export PHP_AUTOCONF=/home/nginx/autoconf213/bin/autoconf

nginx% export PHP_AUTOHEADER=/home/nginx/autoconf213/bin/autoheader

再次在php-5.2.8下执行重建configure,确认configure文件重写生成。

nginx% ./buildconf --force

然后可以通过./configure --help 来检查应该含有--with-informix[=DIR] 这样的选项了。

在编译php-fpm前,在环境中指定INFORMIXDIR(必须,若未配置必须要--with-informix中指定目录)和INFORMIXSERVER

nginx% export INFORMIXDIR=/opt/informix

nginx% export INFORMIXSERVER=ids_online_net

注:以下编译选项还包含了mysql的连接,若不需要可以不选。

nginx% ./configure \

--prefix=/home/nginx/php \

--enable-fastcgi \

--enable-fpm \

--with-mysql \

--with-informix \

--with-zlib \

--with-curl \

--with-freetype-dir \

--enable-ftp \

--enable-zip

nginx% make all                           (编译所有)

nginx% make install                       (编译安装,完成安装)

检查安装

nginx% cd /home/nginx/php/bin

nginx% ./php -v                                (显示如下内容,表示安装正常)

PHP 5.2.8 (cli) (built: Aug 11 2009 22:53:04)

Copyright (c) 1997-2008 The PHP Group

Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

将php-5.2.8目录下的php.ini-dist 复制到/home/nginx/php/lib/php.ini

修改配置文件/home/nginx/php/etc/php-fpm.conf,找到部分(该部分的内容是指定php的环境变量)

增加以下两项。(示例中使用用户环境变量,即上面指定的两个环境变量)

$INFORMIXDIR

$INFORMIXSERVER

修改PATH,使用$PATH替换掉默认变量

$PATH

完成以上后,启动php-fpm

nginx% /home/nginx/php/sbin/php-fpm start

3.nginx的安装

nginx% tar -xzvf nginx-0.8.54.tar.gz           (解压缩包nginx-0.8.54,生成目录nginx-0.8.54)

nginx% cd nginx-0.8.54

nginx% ./configure \

--prefix=/home/nginx                        (指定--prefixm,配置前,应先安装好pcre-devel)

nginx% make                                   (编译)

nginx% make install                           (编译安装)

配置nginx

修改/home/nginx/conf/nginx.conf 配置文件,需做如下修改

server {

listen       8080;      (修改所使用的端口)

server_name  localhost; (修改所使用的服务器名,可以使用IP地址)

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

location ~ \.php$ {

root           html;

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;

include        fastcgi_params;

}

取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,$fastcgi_script_name 应改为$document_root$fastcgi_script_name,或者使用绝对路径

完成配置后启动

nginx% /home/nginx/sbin/nginx

编写个phpinfo.php文件保存在/home/nginx/html/目录下,文件内容如下:

然后在浏览器中打开,输出应当有informix的项目,并且需要注意php的变量中存在INFORMIXDIR和INFORMIXSERVER,如图所示:

uid-2292276-id-109933.html

编写个连接至informix数据库的php文件testifx.php,ifx_connect的参数含义是(dbname@INFORMIXSERVER, user, password)

$conn_id = ifx_connect ("sysmaster@ids_online_net", "informix", "informix");

if ($conn_id){

echo "connect success!";

} else {

echo "connect failed!";

}

?>

若是指定的数据库正常运行的话,应该能得到输出 connect success!

结束语:弄这个弄了好几天,到今天01:30(2011.02.02,春节咯!^_^)总算是搞定了,中间因为php的环境问题做了好几次(使用php -e testifx.php一直都正常,在浏览器中输出错误),偶然看到php-fpm的进程中含有配置文件名,这才找到关键所在,加上环境就一切都好了!

基于实时迭代的数值鲁棒NMPC双模稳定预测模型(Matlab代码实现)内容概要:本文介绍了基于实时迭代的数值鲁棒非线性模型预测控制(NMPC)双模稳定预测模型的研究与Matlab代码实现,重点在于通过数值方法提升NMPC在动态系统中的鲁棒性与稳定性。文中结合实时迭代机制,构建了能够应对系统不确定性与外部扰动的双模预测控制框架,并利用Matlab进行仿真验证,展示了该模型在复杂非线性系统控制中的有效性与实用性。同时,文档列举了大量相关的科研方向与技术应用案例,涵盖优化调度、路径规划、电力系统管理、信号处理等多个领域,体现了该方法的广泛适用性。; 适合人群:具备一定控制理论基础和Matlab编程能力,从事自动化、电气工程、智能制造等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于解决非线性动态系统的实时控制问题,如机器人控制、无人机路径跟踪、微电网能量管理等;②帮助科研人员复现论文算法,开展NMPC相关创新研究;③为复杂系统提供高精度、强鲁棒性的预测控制解决方案。; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,重点关注NMPC的实时迭代机制与双模稳定设计原理,并参考文档中列出的相关案例拓展应用场景,同时可借助网盘资源获取完整代码与数据支持。
UWB-IMU、UWB定位对比研究(Matlab代码实现)内容概要:本文介绍了名为《UWB-IMU、UWB定位对比研究(Matlab代码实现)》的技术文档,重点围绕超宽带(UWB)与惯性测量单元(IMU)融合定位技术展开,通过Matlab代码实现对两种定位方式的性能进行对比分析。文中详细阐述了UWB单独定位与UWB-IMU融合定位的原理、算法设计及仿真实现过程,利用多传感器数据融合策略提升定位精度与稳定性,尤其在复杂环境中减少信号遮挡和漂移误差的影响。研究内容包括系统建模、数据预处理、滤波算法(如扩展卡尔曼滤波EKF)的应用以及定位结果的可视化与误差分析。; 适合人群:具备一定信号处理、导航定位或传感器融合基础知识的研究生、科研人员及从事物联网、无人驾驶、机器人等领域的工程技术人员。; 使用场景及目标:①用于高精度室内定位系统的设计与优化,如智能仓储、无人机导航、工业巡检等;②帮助理解多源传感器融合的基本原理与实现方法,掌握UWB与IMU互补优势的技术路径;③为相关科研项目或毕业设计提供可复现的Matlab代码参考与实验验证平台。; 阅读建议:建议读者结合Matlab代码逐段理解算法实现细节,重点关注数据融合策略与滤波算法部分,同时可通过修改参数或引入实际采集数据进行扩展实验,以加深对定位系统性能影响因素的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值