php 5.1.4 通过OCI8 以及instantclient访问远程oracle 9i数据库
ph p 5.1.4 通过 OCI8 以及 instantclient 访问远程 oracle 9i 数据库的安装步骤 ,今天终于成功了。呵呵,开心。详见全文。。 前段时间的问题: 我现在需要在一台 WWW 服务器上安装 instant-client, 用于 PHP 与远程 oracle 9.2.0 .6 数据库的连接。 我安装
ph
前段时间的问题:
我现在需要在一台WWW服务器上安装instant-client,用于PHP与远程oracle
我安装了这两个RPM包。
oracle-instantclient-basic-10.1.0.3-1.i386.rpm
oracle-instantclient-devel-10.1.0.3-1.i386.rpm
然后在PHP的编译脚本里加了 --with-oci8-instant-client=/usr/lib/oracle/
然后执行 install.sh;make;make install 一切都显得很正常。
[root@WWW-HP php-
./configure --host=x86_64-redhat-linux --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php --with-mail --sysconfdir=/usr/local/php/etc --enable-sockets --enable-versioning --with-mysql=/usr/local/mysql --enable-memory-limit=yes --with-oci8-instant-client=/usr/lib/oracle/10.1.0.3/client/lib --enable-sigchild --with-gd=/usr/local/gd --with-freetype=/usr/local/freetype --with-ttf --with-zlib --with-png --with-jpeg --with-xml --enable-track-vars
然后将php.ini-recommended 文件拷贝到了/usr/local/php/php.ini .并放开了该文件中的extension=php_oci8.dll 。
重起 apache服务。 可是用去看,怎么都看不到OCI 8 enabled 那部分内容。
我查看编译时的信息,发现 OCI8 的支持是no : checking for Oracle (OCI8) support... no 可是,我明明加了这个支持选项啊。。
急死人了。请大侠不吝赐教~谢谢先~
=====
问题还没有解决:
可是发现一点:如果编译的时候,不使用--witch-oci8-instant-client,而是使用--with-oci8 ,那么查看configure过程中的信息,就有
checking for Oracle (OCI8) support... yes
了。但make 过程中,将出现:
/usr/bin/ld: skipping incompatible /usr/oracle/lib/libclntsh.so when searching for -lclntsh
的错误。。
继续寻求方法中。。。。。
后来, 今天查看到一篇文章 http://ubuntuforums.org/showthread.php?t=92528 下载了 oci8-
进行安装终于成功。
下面是全部的详细安装过程:
环境及软件说明:
fedora 4 for X86-64 hp PC服务器
php-
Apache/
oci8-
instantclient-basic-linuxAMD64-
instantclient-sdk-linuxAMD64-10.1.0.5.0-20060519.zip
下载地址: http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxx86_64soft.html
本机也安装了oracle 9i client ,但由于整合不了,就采用了instantclient方式。这里,需要tnsnames.ora文件
1)下载instantclient-basic 及instantclient-sdk 包,并解开放在/usr/local/instantclient10_1/目录
instantclient-basic-linuxAMD64-
instantclient-sdk-linuxAMD64-10.1.0.5.0-20060519.zip
由于oracle 网站的问题,开始无法下载这些文件, 等了一天,终于可以了。还是不用前面的那几个文件, 还是用回支持64位的软件。
2)echo /usr/local/instantclient10_1 > /etc/ld.so.conf
3)在/etc/profile 里增加如下环境变量信息:
export TNS_ADMIN=/usr/oracle/network/admin
export NLS_LANG="Simplified Chinese_China.ZHS16GBK"
export LANG=zh_CN
export LD_LIBRARY_PATH=/usr/local/instantclient10_1
并执行. /etc/profile 或退出重新进入系统。
并按照有的资料的说明,将apche.conf 文件里定义的User 和Group 加到dba组里。
cat /etc/group
dba:x:502:oracle,nobody
4) 将oci8-
cd /usr/local/src/
tar xvfz oci8-1.2.1.tgz
cd oci8-1.2.1
ln -s libclntsh.so.10.1 libclntsh.so
ln -s libocci.so.10.1 libocci.so
5) 下载instantclient-basic 及instantclient-sdk 包,并解开放在/usr/local/instantclient10_1/目录
6) 将php-
cd /usr/local/src/
tar xvfz php-5.1.4.tar.gz
编写新的编译脚本install.sh ,内容为:
./configure --host=x86_64-redhat-linux --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php --with-mail --sysconfdir=/usr/local/php/etc --enable-sockets --enable-versioning --with-mysql=/usr/local/mysql --enable-memory-limit=yes --with-oci8=instantclient,/usr/local/instantclient10_1/ --enable-sigchild --with-gd=/usr/local/gd --with-freetype=/usr/local/freetype --with-ttf --with-zlib --with-png --with-jpeg --with-xml --enable-track-vars
注意:这里,--with-oci8=instantclient,/usr/local/instantclient10_1/ 我先按照--with-oci8=shared,instantclient,/usr/local/instantclient10_1/ 的shared方式安装,但在configure 过程中,会提示, --enable-versioning 不支持shared 安装方式。因此,我改用了Installing as statically compiled extension 的方式安装(区别见oci8包里的README)
然后编译链接:
./install.sh
make
make install
libtool --finish /usr/local/src/php-
没有报错,一切正常。
7)cp php.ini-recommended /usr/local/php/php.ini
vi /usr/local/php/php.ini
将/usr/local/php/lib/php 放到了includde_path后,可忘记把; 去掉,发现没影响啊。呵呵。后来,还是去掉了注释。
include_path = ".:/php/includes:/usr/local/php/lib/php"
(说明:如果使用shared方式安装的,需要在 php.ini 中添加extension=oci8.so 一行。而我的是静态的方式安装的,就不需要这行了。
8)然后,重起apache 服务:
/apache2/bin/apachectl restart
9)编写php.php
phpinfo();
?>
在浏览器中访问,哈哈,可爱的OCI8 Support enabled 部分的内容,终于出现啦。。
注意:我使用 phpinfo(); ?> 页面是空白。
经过测试,PHP程序可以正常访问远程数据库啦!(

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。
