近期接手了一个PHP开发的项目,一直想搞个LVS管理的工具,却一直没动力去做,这次就当是学习和为了以后工作的方便吧。开发过程中遇到这么一个问题,情况如下:
情况:在windows下写好的代码,上传在Linux服务器上测试不成功,页面无显示。
解决办法:打开php的error_log,观察错误日志
1. 修改php-fpm.conf中配置 没有则增加
catch_workers_output = yes
error_log = log/error_log
2. 修改php.ini中配置,没有则增加
log_errors = On
error_log = "/usr/local/lnmp/php/var/log/error.log"
error_reporting=E_ALL&~E_NOTICE
3. 重启php-fpm
当PHP执行错误时就能看到错误日志在"/usr/local/lnmp/php/var/log/error.log"中了
查看php 的error.log 报错信息如下:
[12-May-2014 16:38:22] WARNING: [pool www] child 6961 said into stderr: "NOTICE: PHP message: PHP Fatal error: No such file or directory in /usr/local/nginx/html/connections/conn.php on line 6"
[12-May-2014 16:40:08] WARNING: [pool www] child 6962 said into stderr: "NOTICE: PHP message: PHP Warning: mysql_connect(): No such file or directory in /usr/local/nginx/html/test.php on line 2"
但实际上文件是存在的,文件的第二行内容如下:
$id=mysql_connect("localhost","root","123456")or die(mysql_error());
查看mysql.sock文件的位置
root@node1:/var/mysql# vim /usr/local/mysql/my.cnf
socket = /usr/local/mysql/data/mysql.sock
root@node1:~# cd /var/
root@node1:/var# mkdir mysql
root@node1:/var# chmod 755 mysql
root@node1:~# cd /var/mysql/
root@node1:/var/mysql# ln -s /usr/local/mysql/data/mysql.sock mysql.sock
root@node1:/var/mysql# cd /tmp/
root@node1:/tmp# ln -s /usr/local/mysql/data/mysql.sock mysql.sock
显示结果正常:
参考资料:
http://stackoverflow.com/questions/4219970/warning-mysql-connect-2002-no-such-file-or-directory-trying-to-connect-vi
php代码上传到linux服务器无法正常显示,古老的榕树,5-wow.com