现在的位置: 首页 > 综合 > 正文

linux下php安装及连接oracle遇到问题总结

2013年01月19日 ⁄ 综合 ⁄ 共 1802字 ⁄ 字号 评论关闭

[php]

服务器信息:linux+apache2+oracle
以下步骤假设linux+apache2+oracle已经正确安装,特别是oracle的几个环境变量设置好.
[
请确认你已经为 Oracle 用户和 web daemon 用户正确设置了 Oracle 环境变量(就是把oracle用户的那些oracle环境变量也弄到root用户那里)。下面列出了需要设置的环境变量:
ORACLE_HOME  #ORACLE安装路径
ORACLE_SID  # ORACLE数据库ID
LD_LIBRARY_PATH #LD联接库路径
NLS_LANG  #ORALCE地区(语言)设置
ORA_NLS33  # ORA_NLS33路径
在为 web 服务器用户设置环境变量之后,你还需要将 web 服务器用户(nobody、 www)加到 oracle 组中。
]

[PHP开始:请尽量以root身份安装]
#tar -xzpvf php-4.3.8.tar.gz  [解压PHP包]
#cd php-4.3.8
#./configure --prefix=/home/www/apache2/php --with-apxs2=/home/www/apache2/bin/apxs --with-oracle=/home/oracle/ora9/product/9.2 --with-oci8=/home/oracle/ora9/product/9.2 --enable-sockets --enable-track-vars --enable-sigchild
参数依实际情况调整: [prefix:将php安装到apache2目录下]
   [with-apxs2:指定到apache2目录下/bin/apxs]
   [with-oracle:oracle_home路径]
   [with-oci8:oracle_home路径]
   [其它三个默认]
[这一步请确认路径正确,没有报错,直到出现Thank you ..PHP字样]
#make        [长时间等待。。。。。。]
#make install    [稍后。。。。。。。。。]

#vi **/apache2/conf/httpd.conf
[
查看文件最后是否包含以下三行:如没有请加上
LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
]
#cp php.ini-dist /usr/local/lib/php.ini  [查看phpinfo()中的Configuration File (php.ini) Path是否正确]
#重起apache
[PHP完成]

[
关于PHP连接oracle:
由于ORACLE目录需要能被APACHE进程用户读到,
当用PHP连接oracle报错:Error while trying to retrieve text for error
则需要将oracle目录设成755
#chmod 755 -R $ORACLE_HOME

遇到:"ORA-27121: unable to determine size of shared memory segment" 错误
ORA-01034: ORACLE not available
ORA-27121: unable to determine size of shared memory segment
Linux Error: 13: Permission denied
主要是因为oracle安装程序没有给oracle这个可执行程序设置正确的setuid。这样设置一下:
$ cd $ORACLE_HOME/bin
$ chmod 6751 oracle
结果类似这样就行了。

$ ls -l $ORACLE_HOME/bin/oracle
-rwsr-s--x    1 oracle   oinstall 23352783 Aug 14  2001 /home/oracle/app/oracle/product/8.1.6/bin/oracle
]
[
关于oracle中存贮中文数据成乱码的问题:
请确认以下三个地方字符集设置是一样的
第一: 客户端应用字符集(Client Application Character Set)
第二: 客户端NLS_LANG参数设置
第三: 服务器端,数据库字符集(Character Set)设置
]

[/php]

抱歉!评论已关闭.