Home  >  Article  >  Backend Development  >  测试了个简单的PHP程序返回500错误。

测试了个简单的PHP程序返回500错误。

WBOY
WBOYOriginal
2016-06-23 14:01:21758browse

操作系统为UBUNTU12,APACHE2安装无误
PHP是APT-EGT安装的PHP5,安装过程我都仔细瞅了,没提示错误.
弄好了之后就按照国际惯例,HELLOWORLD了一下,结果:
CHROME提示:
=================================================================
服务器错误
网站在检索 http://192.168.1.107/helloworld.php 时遇到错误。 该网站可能关闭进行维护或配置不正确。
=================================================
IE提示:此错误(HTTP 500 内部服务器错误)意味着你正在访问的网站出现了服务器问题,此问题阻止了该网页的显示。
====================================

PHP代码如下:
echo "hello world";
?>

PHP5重新安装了也一样,求教为什么。。。


回复讨论(解决方案)

PHP没有解析?


不清楚。。。都是按照网上的说法安装的,静态网页打开没有问题啊

就算解析了,也要这样??浏览器啊

echo "

";  <br> echo "hello world";  <br> ?>  <br>  <br>  <p class="sougouAnswer">  <br> 这么多年了,LINUX为什么不能在易用性方面做一点点改善?通过严苛古板的权限管理带来的安全能抵消效率损失吗?不解 </p> <p class="sougouAnswer">  <pre class="sycode" name="code"><?phpphpinfo();?>

这个打印得出吗?

另外检查一下HTTPD LOG。

这么多年了,LINUX为什么不能在易用性方面做一点点改善?通过严苛古板的权限管理带来的安全能抵消效率损失吗?不解

你重新apt-get install 一次吧 把 apache  linux mysql 都给装上,现在在ubuntu 下装这个比在win下简单多了。基本上正常安装的话不会存在有什么问题。有问题的基本上都是自己编译的部分

你重新apt-get install 一次吧 把 apache  linux mysql 都给装上,现在在ubuntu 下装这个比在win下简单多了。基本上正常安装的话不会存在有什么问题。有问题的基本上都是自己编译的部……

=============
重新装了还是这样

我找到了APACHE的错误日志,发现了一些可能跟PHP有关的记录,请大家帮忙诊断一下。。。
[Sun Dec 02 15:20:18 2012] [notice] caught SIGTERM, shutting down
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/msql.so' - /usr/lib/php5/20100525/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0

各位,我通过另一条错误日志在网上搜索到了一个解决办法
日志:permission denied in unknown on line 0 

解决办法如下
sudo chmod 777 /var/www/helloworld.php
结果就好了。。。

这是为什么啊?难道以后每一个PHP文件都要这么弄?

777是错的
问题在于你执行php的进程的权限
请检查你用哪个用户执行的php
然后
chown username:username php_dir -R

建议对任意一个文件都不要给777权限
一般情况下给744就够了

777是错的
问题在于你执行php的进程的权限
请检查你用哪个用户执行的php
然后
chown username:username php_dir -R

好的,我找找。多谢!受教了!

各位,我通过另一条错误日志在网上搜索到了一个解决办法
日志:permission denied in unknown on line 0 

解决办法如下
sudo chmod 777 /var/www/helloworld.php
结果就好了。。。

这是为什么啊?难道以后每一个PHP文件都要这么弄?

777是最大权限  
针对不同的用户的
rwx rwx rwx 你在linux直接看是这样的 分别对应 所有者权限user 用户组权限group 其他人权限other
r-读  w-写  x-执行
rwx都有为4+2+1=7  
假设r-w 即没有写的权限 4+0+1=5

一般情况744
即 rwx r-- r--

将属主指定给apache的执行用户,
一般默认为apache就可以了。

chown apache:apache helloword.php

777是错的
问题在于你执行php的进程的权限
请检查你用哪个用户执行的php
然后
chown username:username php_dir -R

请问如何检查是哪个用户在执行PHP啊?

如果是加载so模式使用php,那么
ps -ef | grep httpd | grep -v grep
然后看最左一列,就是用户名

引用 11 楼 acabin 的回复:777是错的
问题在于你执行php的进程的权限
请检查你用哪个用户执行的php
然后
chown username:username php_dir -R

请问如何检查是哪个用户在执行PHP啊?

你不做服务器这块,linux 了解一些就好,真要做了,你会发现linux 挺有意思的, 我反而觉得windows 的产品烂,低效,折腾着麻烦。 上次就设置一个sql 的密码,硬是折腾半天~
这么多年了,LINUX为什么不能在易用性方面做一点点改善?通过严苛古板的权限管理带来的安全能抵消效率损失吗?不解

你不做服务器这块,linux 了解一些就好,真要做了,你会发现linux 挺有意思的, 我反而觉得windows 的产品烂,低效,折腾着麻烦。 上次就设置一个sql 的密码,硬是折腾半天~
引用 4 楼 chilun 的回复:这么多年了,LINUX为什么不能在易用性方面做一点点改善?通过严苛古板的权限管理带来的安全能抵消效率损失吗?不解

其他的发行版比如REDHAT之类的会不会好用一些啊……UBUNTU真的无语了

算了,我放弃了,下了个LAMP安装包在WINDOWS下用了,UBUNTU再见。。

谢谢各位的热心解答~结贴了


.........

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn