Linux论坛's Archiver

《开源》旗舰电子杂志2009年第1期火热下载!

劳动人民 发表于 2008-9-13 22:03

WEB服务器奇怪的问题,大家进来给点意见吧,谢谢

服务器安装软件如下: centos 5.2;Apache2.26;mysql 5.0.50;php 5.2.5
修改httpd.conf文件
-------------------------
DocumentRoot "/XXX/www"
-------------------------
    DirectoryIndex index.php index.html index.htm
-------------------------
<Directory "/XXX/www">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
------------------------
添加了:AddType application/x-httpd-php .php
------------------------
error_log内容

[Sat Sep 13 20:34:34 2008] [notice] caught SIGTERM, shutting down
[Sat Sep 13 20:34:51 2008] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Sat Sep 13 20:34:51 2008] [notice] Digest: generating secret for digest authentication ...
[Sat Sep 13 20:34:59 2008] [notice] Digest: done
[Sat Sep 13 20:35:00 2008] [notice] Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.8b DAV/2 PHP/5.2.6 with Suhosin-Patch configured -- resuming normal operations
[Sat Sep 13 20:51:04 2008] [notice] SIGHUP received.  Attempting to restart
[Sat Sep 13 20:51:04 2008] [notice] Digest: generating secret for digest authentication ...
[Sat Sep 13 20:51:04 2008] [notice] Digest: done
[Sat Sep 13 20:51:05 2008] [notice] Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.8b DAV/2 PHP/5.2.6 with Suhosin-Patch configured -- resuming normal operations
---------------------------------------------------------
access_log内容

[13/Sep/2008:20:34:19 +0800] "GET /test.php?=SUHO8567F54-D428-14d2-A769-00DA302A5F18 HTTP/1.1" 200 2813
[13/Sep/2008:20:34:19 +0800] "GET /test.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2146
[13/Sep/2008:20:34:19 +0800] "GET /test.php HTTP/1.1" 200 54387
[13/Sep/2008:20:34:23 +0800] "GET / HTTP/1.1" 500 -
[13/Sep/2008:20:34:26 +0800] "GET / HTTP/1.1" 500 -
[13/Sep/2008:20:34:26 +0800] "GET / HTTP/1.1" 500 -
[13/Sep/2008:20:34:27 +0800] "OPTIONS * HTTP/1.0" 200 -
[13/Sep/2008:20:34:28 +0800] "OPTIONS * HTTP/1.0" 200 -
---------------------------------------------------------
症状如下,index.html,test.php测试都能通过,用phpmyadmin能正常使用mysql。
将公司的网站上传,主页面为index.php,浏览器报500错误。(目录属性为775)
公司网站的PHP中使用了模板
注:所以文件都在同一目录/XXX/www下
请各位给点意见是什么原因造成主页面不能执行报500错误呢?谢谢!

[[i] 本帖最后由 劳动人民 于 2008-9-13 22:05 编辑 [/i]]

linuxpk 发表于 2008-9-13 22:28

先回答一下,然后我来问你一个问题。

1. 如果说test.php正常,而index.php不正常,这应该就是公司网站的模板技术产生的问题。

2. 你为何要注册多个账号呢?

劳动人民 发表于 2008-9-13 22:44

先道个歉,因为开始这个帐号密码找回有点问题,急于求解问题,所以重新注册了一个,给您添麻烦了。
继续回到问题上来:
总共4台服务,3台运行不了,1台放在公司内部当测试机的服务器可以,所有安装配置都是一样,故百思不得其解。

linuxpk 发表于 2008-9-14 08:50

有了进一步的信息,可以开始进行对比法了

1. 既然无法运行,则说明内部的测试机和外部的机器肯定有区别
2. 这个区别可能是软件的安装配置,更可能是内部和外部的区别
a 是不是防火墙的事情?
b 是不是路由的事情?
c 关闭selinux看看呢?
d 从外网访问你们的那3台机器看看呢?

劳动人民 发表于 2008-9-14 19:13

感谢Linuxpk兄的帮助。
今天又测试了半天
1:把防火墙关闭,selinux关闭,情况依旧。
2:apache ,php都重新编译安装了一次,这次连默认web目录都没改,php文件测试成功,公司主页依旧500错误。
3:外网内网访问都测试,情况还是一样。
4:网上下载了两个带模板的源码,上传安装,和公司主页一样,报500错误,初步排除网站源码问题。

b 是不是路由的事情?   请问如何检测和路由是否有关系,谢谢!

linuxpk 发表于 2008-9-15 09:31

如果在index.php中只写一句话phpinfo();,会出错吗?

劳动人民 发表于 2008-9-16 20:06

谢谢Linuxpk兄的热心回答

问题找到了,因程序是多人开发,故有使用<?php,也有使用<?标签。
在php5.1之后,php.ini设置中发生变化,即short_open_tag。php.ini-dist的short_open_tag = on,而php.ini-recommended的short_open_tag = off,我是使用php.ini-recommended,所以short_open_tag =off不支持短标签(<?)语法,这样就造成服务器报500错误。将/usr/local/Zend/etc/php.ini 中short_open_tag = off改成on问题解决。

[[i] 本帖最后由 劳动人民 于 2008-9-16 20:07 编辑 [/i]]

linuxpk 发表于 2008-9-16 20:13

非常感谢“劳动人民”的结贴,呵呵

我是分析,测试机和生产机肯定有区别,看来是php.ini的配置问题了。

choatrue 发表于 2008-12-4 00:04

路过。。。顶一下。。。
所以,这个事实告诉了我们。写PHP程序时,一定要规范用<?php来开头。。。呵呵。特别是多人开发的项目。。。
有时候省略了一点小地方,会出现大问题。。。呵呵。

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.