ホームページ  >  記事  >  バックエンド開発  >  500 エラーを返す単純な PHP プログラムをテストしました。

500 エラーを返す単純な PHP プログラムをテストしました。

WBOY
WBOYオリジナル
2016-06-23 14:01:21762ブラウズ

オペレーティングシステムは UBUNTU12 で、APACHE2 は正しくインストールされています。
PHP は APT-EGT によってインストールされた PHP5 です。
インストールプロセスを注意深く観察しましたが、エラーはありませんでした。
完了後は、国際的な慣例に従ってインストールしました。結果:
CHROME プロンプト:
========================================== ====== =================
サーバーエラー
http://192.168.1.107/helloworld.php の取得中に Web サイトでエラーが発生しました。 Web サイトがメンテナンスのために停止しているか、設定が正しくない可能性があります。
===============================================
IE ヒント: このエラー (HTTP 500 内部サーバー エラー) は、アクセスしている Web サイトにサーバーの問題があり、ページが表示されないことを意味します。
====================================

PHP コードは次のとおりです:
47ff6bcca633c09f8477b1d5d445044f

PHP5を再インストールしても同じ現象が発生しました。理由を教えてください。 。 。


ディスカッションへの返信 (解決策)

PHP が解析されませんか?


わかりません。 。 。これらはすべてインターネット上の指示に従ってインストールされています。静的な Web ページを開くには問題ありません


解析されたとしても、ブラウザはこのようにする必要があります

29055c098ec5cb7c2287c8dd38f36bf8";
echo "hello world" ;
?>


何年も経ったのに、なぜ LINUX の使いやすさをもう少し改善できないのでしょうか?厳格かつ厳格なアクセス許可管理によって得られるセキュリティは、効率の低下を補うことができるでしょうか?混乱しています


うわー

これは印刷できますか?

HTTPD ログも確認してください。


何年も経ったのに、なぜ LINUX は使いやすさの点でもう少し改善できないのでしょうか?厳格かつ堅固な権限管理によって得られるセキュリティは、効率の低下を補うことができるでしょうか?わかりません

もう一度 apt-get install して、Apache linux mysql をインストールしてください。これで、Win よりも ubuntu にインストールする方がはるかに簡単です。基本的には普通にインストールすれば問題ありません。問題は基本的に自分でコンパイルした部分です


再 apt-get install して、Apache linux mysql をインストールしてください。これで、Win よりも ubuntu でこれをインストールする方がはるかに簡単になります。基本的には普通にインストールすれば問題ありません。問題は基本的に自分でコンパイルした部分です...

=============
再インストールしても同じです

APACHEのエラーログを見つけたところ、いくつか可能性のあるものを見つけましたPHP に関連する 関連するレコードの診断にご協力ください。 。 。
[Sun Dec 02 15:20:18 2012] [通知] SIGTERM をキャッチし、シャットダウンします

PHP 警告: PHP 起動: ダイナミック ライブラリ '/usr/lib/php5/20100525/msql.so' - /usr/ をロードできませんlib/php5/20100525/msql.so: 共有オブジェクト ファイルを開けません: 行 0 の不明にそのようなファイルまたはディレクトリはありません


皆さん、別のエラー ログを通じてオンラインで解決策を探しました
ログ: 行 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再见。。

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


.........

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。