说明: 随着现在网站业务功能越来越多,很多时候不能很快的分析到问题产生的原因。所以需要一些办法来提高分析的问题的效率,目前我自己常用的是写日志文件并去网上找一些比较合适的调试办法。

1 PHP

1.1 Xdebug

1
sudo apt-get install php5-xdebug

1.2 php 错误日志

1
2
3
4
5
6
7
8
9
sudo vi /etc/php5/fpm/pool.d/www.conf
#php_admin_value[error_log] = /var/log/fpm-php.www.log 取消注释
#php_flag[display_errors] = on 开发环境建议开启,配合调试工具使用
sudo touch /var/log/fpm-php.www.log
sudo chown www-data:www-data /var/log/fpm-php.www.log
sudo tailf /var/log/fpm-php.www.log

1.3 error_log 使用

了解 error_log 用法

1
2
3
4
error_log() 发送错误信息到某个地方
bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )
把错误信息发送到 web 服务器的错误日志,或者到一个文件里。

目前功能包(API-*)目录结构是:

1
2
3
4
5
6
| - lib 系统代码文件
| - Controller 控制器定义文件
| - Model 模型定义文件
| - Dao 数据访问对象定义文件
| - share
| - test 单元测试代码文件

配合目录结构的一致性,所以建议把日志文件的路径设置在 /var/www/dahao.de/_api.git/var/log,独立功能包接口需要写日志请独立标明目录和文件名方便查找。

1
2
3
4
5
6
7
8
| - lib 系统代码文件
| - Controller 控制器定义文件
| - Model 模型定义文件
| - Dao 数据访问对象
| - share
| - test 单元测试代码文件
| - var 生成的数据文件
| - log 日志文件

通过 error_log 方法写的日志文件内容可以快速分析问题可能产生的原因,日志文件内容请根据情况来保存。

2 Mysql

2.1 错误日志

1
sudo tailf /var/log/mysql/error.log

2.2 执行日志

1
2
3
4
5
6
sudo vi /etc/mysql/mysql.cnf
#general_log_file = /var/log/mysql/mysql.log 取消注释
#general_log = 1 取消注释
sudo tailf /var/log/mysql/mysql.log

3 Nignx

3.1 错误日志

1
sudo tailf /var/log/nginx/error.log

3.2 调试日志

1
2
3
4
5
开发环境调调整 api.dahao.de
sudo vi /var/www/dahao.de/_api.git/etc/nginx/sites-avaliable/api.dahao.de
error_log /var/www/dahao.de/~log/api-error.log debug; 开发环境
#error_log /dev/null crit; 正式环境

3.3 请求日志

1
sudo tailf /var/www/dahao.de/~log/api.log

4 JavaScript

4.1 调试命令

1
2
3
console.log();
console.info();
console.warn();

4.2 断点调试

1
使用 chrome 断点调试功能,因为自己也使用不熟练,所以具体办法请在网上查找。