设为首页 收藏本站
查看: 1060|回复: 0

[经验分享] Apache上部署Pro*c常见的一个错误

[复制链接]

尚未签到

发表于 2017-1-10 09:24:43 | 显示全部楼层 |阅读模式
  Apache上部署Pro*c常见的一个错误
  在Apache上部署Pro*c,经常会出现服务器500错误.最近测试Linux上的Oracle iAS,
遇到问题不少,在这里把解决500错误的过程和大家大致描述一下,希望对大家能有所帮助.
  操作系统:RedHat AdvanceServer 2.1
数据库: Oracle 8.1.7.4
Apache: 1.3.12
  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
情况1:
假设我们请求的连接如下:

http://192.168.0.116:7777/cgi-bin/test
  浏览器得到的错误信息如下:
  Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, Fenng@ITPub.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.
  More information about this error may be available in the server error log.
  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  一般的,管理员都会检查Apache的Logs目录下的error.log文件.检查该文件,提示信息如下:
  test: error while loading shared libraries: libclntsh.so.8.0: cannot open shared object file: No such file or directory
  别管那么多,如果有Metalink帐号的话,先去看看,查了几个帖子,
提示说Apache的环境变量不正确.有些语焉不详.
  既然提示信息是找不到libclntsh.so.8.0文件,首先看看系统是不是有这个库文件:
  [oracle@Linux lib]$ pwd
/u/app/oracle/product/8.1.7/lib
[oracle@Linux lib]$ ls -l libcln*
lrwxrwxrwx 1 oracle root 16 Oct 23 13:56 libclntsh.so -> libclntsh.so.8.0
-rwsrwxr-x 1 oracle root 6285134 Oct 23 13:56 libclntsh.so.8.0
-rwsrwxr-x 1 oracle root 8689756 Oct 23 13:57 libclntst8.a
  哦,此文件存在.
  接下来检查环境变量:
  [oracle@Linux lib]$ set | grep LIB
LD_LIBRARY_PATH=/u/app/oracle/product/ias/lib:/lib:/usr/lib:/usr/openwin/lib
  Ok.问题定位:用户的环境变量不正确.
  解释:原来系统中还安装过9ias ,管理员一时疏忽,环境变量没有调整好.
  修改后,得到解决.
  (哇,你这也太简单了,没劲)OK,看下一个情形.
  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  情况二:
  系统环境:多加了Oracle 9iAS ,其它同上.
Apache是用iAS 默认的安装.
  同样出现500错误.
  有了上次的经验,逐一的查找.....
  居然...不管用
  用户环境变量正确,在Shell下执行test程序,可以执行,并输出正确结果!
  上网,查找Google,Metalink,得到的信息大致如下:Apache 的环境变量不正确
  建议在Httpd.conf中加入
  SetEnv ORACLE_HOME 'your path'
SetEnv ORACLE_SID 'your sid'
SetEnv LD_LIBRARY_PATH 'your lib path'
  尝试之后,没有一点作用.
  看来,解决的方法不对路.
  从头分析:登录到oracle用户下,此时环境变量正确的,然后启动/停止Apache,用的是 apachectl start/stop命令.
这个apachectl命令会不会有问题??
  $more apachectl
  找到了这样一段:
if [ -z "$LD_LIBRARY_PATH" ]
then
LD_LIBRARY_PATH=/u/app/oracle/product/ias/lib ; export LD_LIBRARY_PATH
else
LD_LIBRARY_PATH=/u/app/oracle/product/ias/lib:${LD_LIBRARY_PATH} ; export LD_LIBRARY_PATH
fi
  又是iAS惹的祸!修改之后.问题解决.
  老生常谈的建议:在操作的过程中,对配置文件修改的时候,事先做个备份是个好习惯。否则,恢复不到初始状态也很头疼的哦。
  附,系统的一些配置信息大致如下:
  [oracle@Linux bin]$ uname -a
Linux Linux 2.4.9-e.3 #1 Fri May 3 17:02:43 EDT 2002 i686 unknown
SQL> select * from v$version;
  BANNER
----------------------------------------------------------------
Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production
PL/SQL Release 8.1.7.4.0 - Production
CORE 8.1.7.0.0 Production
TNS for Linux: Version 8.1.7.4.0 - Production
NLSRTL Version 3.4.1.0.0 - Production
  +++++++++++++++++++++++++++END++++++++++++++++++++++++++++++++

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-326358-1-1.html 上篇帖子: Apache虚拟主机和虚拟目录的设置 下篇帖子: apache、resin、rewrit泛域名、多域名设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表