存档

‘PHP’ 分类的存档

PHP-FPM + NGINX 空白页面问题的解决

2011年6月10日 1 条评论

架设了一台服务器,采用PHP-FPM + NGINX结构,测试时返回空白页面,HTTP状态码200。

访问的文件只要是.php结尾的,无论存在与否,返回状态码均为200,页面内容一律空白。

特意创建了一个PHP文件,里面只有一行代码<?php phpinfo(); ?>,仍然不行,这下也排除了短标签问题。

所有错误日志打开,php.ini、php-fpm.conf、nginx.conf都设置开启日志。

查看日志,没有一处相关的错误报告,nginx日志、php日志、php-fpm日志、系统日志全部检查过,没有任何有用的提示。

究竟是PHP-FPM出问题了还是NGINX设置的问题?查了很多资料都没找到解决办法。

找到最后,都快想放弃了。这时抱着试试看的心态,测试了一个文本文件,返回结果是”403 Forbidden”。

网上一查,原来是权限问题,运行命令修改权限:

Chmod –R 755 /var/www/html/

再次测试,文本文件正常显示,又看到希望了。

再测试phpinfo文件,内容正常打印,曙光终于出现。

我突然想起我所用的框架中很多处函数调用都采用了”@” 符号(at符号)来抑制错误提示。

会不会是这个原因呢?我清理了代码中所用函数调用代码的”@”标记,再次运行我的代码,终于出现错误提示了,一个fatal error,原来是mysql模块没装上。

“@”符号真的害死人啊,我花了那么多时间才找出了错误的原因,我简直想找写这个框架的人来痛扁一顿。

在此给各位同学提醒一下,如无必要,最好不要在PHP函数调用前加”@”符号,错误的抑制完全可以通过php.ini和.htaccess完成。

当然,如果php.ini和.htaccess权限都没有,那么也就只有忍了。

分类: PHP 标签:

使用PHP实现远程关闭计算机、重启计算机

2011年4月2日 2 条评论

下面是PHP的脚本代码,可以实现关机、重启及取消关闭的功能:

<?php

if(isset($_GET[‘action’]))

{

$action = $_GET[‘action’];

$cmd = ”;

switch($action)

{

case ‘shutdown’:

$cmd = ‘shutdown -s’;

break;

case ‘abort-shutdown’:

$cmd = ‘shutdown -a’;

break;

case ‘reboot’:

$cmd = ‘shutdown -r’;

break;

default:

// do nothing

break;

}

if($cmd != ”)

{

system($cmd);

}

}

?>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<html
xmlns=”http://www.w3.org/1999/xhtml”>

<head>

<meta
http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />

<title>Manage Your Cumputer</title>

</head>

<body>

<p><a
href=”?action=shutdown“>Shutdown</a></p>

<p><a
href=”?action=abort-shutdown“>Abort shutdown</a></p>

<p><a
href=”?action=reboot“>Reboot</a></p>

</body>

</html>

分类: PHP 标签: