Я начинаю презирать PHP-FPM! это ужасно при обработке ошибок!
Я получаю NetworkError: 502 Bad Gateway
, и хотя я знаю, где происходит ошибка, потому что я вручную не комментировал строку за строкой, пока не нашел неправильную строку, я не знаю, почему эта строка вызывает проблему.
Прежде чем вы спросите, что такое строка, которая вызывает ошибку, это не моя проблема, моя проблема в том, что я не могу заставить PHP рассказать мне, что такое ошибка. Он просто продолжает отвечать с ошибкой 502.
Вот моя конфигурация
сайт nginx
location ~ .+?\.php {
fastcgi_split_path_info ^(.+?\.php)/?(.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param LOG_PATH /var/www/sites/api/logs;
fastcgi_param ENVIRONMENT dev;
fastcgi_buffer_size 128k;
fastcgi_buffers 254 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
proxy_intercept_errors on;
fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
}
php.ini
[PHP]
engine = On
expose_php = Off
max_execution_time = 30
memory_limit = 128M
default_socket_timeout = 5
session.save_path = /var/www/session/
file_uploads = Off
upload_tmp_dir = /tmp/php
upload_max_filesize = 5M
post_max_size = 5M
max_file_uploads = 1
date.timezone = 'UTC'
disable_functions = phpinfo,exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source
mail.add_x_header = Off
sql.safe_mode = On
cgi.force_redirect = 1
allow_url_fopen = Off
allow_url_include = Off
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
html_errors = Off
log_errors = On
error_log = /var/log/php5-fpm.log
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = On
pool.d/www.conf
[www]
listen = /var/run/php5-fpm.sock
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
pm = static
pm.max_children = 600
;pm.start_servers = 10
;pm.min_spare_servers = 5
;pm.max_spare_servers = 15
pm.max_requests = 100
;pm.status_path = /php_status
;request_terminate_timeout = 5s
;request_slowlog_timeout = 5s
;slowlog = /var/log/php/fpm/domain.slowlog.log
; Redirect worker stdout and stderr into main error log. If not set, stdout and
; stderr will be redirected to /dev/null according to FastCGI specs.
; Default Value: no
catch_workers_output = yes
php_flag[display_errors] = on
php_flag[display_startup_errors] = on
;php_flag[output_buffering] = off
php_admin_value[error_log] = /var/log/php5-fpm.log
php_admin_flag[log_errors] = on
и все, что я получаю в журналах, следующее
Журнал ошибок сайта
2014/10/02 14:34:50 [error] 25966#0: *9 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 109.70.40.213, server: www.example.com, request: "POST /v2/payments/payment/sale HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "www.example.cm", referrer: "http://boxshop.im/checkout"
Журнал ошибок php
[02-Oct-2014 14:44:26.023450] DEBUG: pid 25216, fpm_event_loop(), line 419: event module triggered 2 events
[02-Oct-2014 14:44:26.023927] DEBUG: pid 25216, fpm_got_signal(), line 76: received SIGCHLD
[02-Oct-2014 14:44:26.024044] WARNING: pid 25216, fpm_children_bury(), line 252: [pool www] child 25251 exited on signal 11 (SIGSEGV) after 1441.610042 seconds from start
[02-Oct-2014 14:44:26.025943] NOTICE: pid 25216, fpm_children_make(), line 421: [pool www] child 26039 started
[02-Oct-2014 14:44:26.026192] DEBUG: pid 25216, fpm_event_loop(), line 419: event module triggered 1 events
Хороший, Parse Error on line 234
будет приятным!