这两天在配置snort+base环境,涉及到apache, mysql和php的安装与配置。虽然网上都有很多这方面的资料,但由于所用服务器个性化配置不同,照搬别人的安装步骤并不能成功。由于第一次同时构设这几个基础软件,还是遇到了不少问题,查找了不少资料。在解决问题的过程中,对开源系统服务又有了进一点认识。
[@more@]问题一:不小心竟然删掉了mysql的mysql.sock文件,默认数据库文件有损坏,导致运行mysqld_safe启动数据库时出现下面错误
Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
070722 11:07:31 mysqld ended
尝试连接一下,mysql –uroot –p 连接时提示:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
解决办法就是,用mysql_install_db重建数据,然后
/usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=root --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock
问题二:访问php页面时,发现只有头部显示出来,后面的php代码毫无反应,
<?php phpinfo() ?>也没有输出。
经过一番查看apache的日志,发现php有把warning和一些error信息写进去,说明了apache是可以和php交互工作。那应该是php配置的问题了,打开php.ini文件,把两个变量修改成error_reporting = E_ALL & ~E_NOTICE, display_errors = On, 这一次<?php phpinfo() ?>可以打印很多信息了。
再修改apache的配置文件httpd.conf,加上
php_flag display_errors on
php_value error_reporting 2039
service httpd restart后,再访问原来的php文件,哗啦哗啦好几条错误跑了出来,这下心情轻松了,原来之前出错了php不继续往下解析了,出错信息也隐藏了起来。
这两个选项在高度代码时很有用,但发布版本应该将它关闭,不然会泄漏不少秘密的^_^
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7406370/viewspace-927515/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7406370/viewspace-927515/