mysql — 502 Bad Gateway Nginx Mac OS X Yosemite php56 php-fpm

я был Заваривать PHP, MySQL & Nginx в Mac OS X, но я не могу сделать эту работу.

Есть идеи, что я делаю не так?

phpinfo работает

/log/nginx/access.log

127.0.0.1 - - [14/Mar/2015:21:21:16 -0500] "GET /wp/wp-admin/install.php HTTP/1.1" 502 574 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2331.4 Safari/537.36"

/log/virtualhost/error.log

2015/03/14 21:21:16 [error] 82682#0: *59 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /wp/wp-admin/install.php HTTP/1.1", upstream: "fastcgi://unix:/usr/local/var/run/php-fpm/php-fpm.sock:", host: "localhost"

/log/php-fpm.log

[14-Mar-2015 21:21:16] WARNING: [pool www] child 6851 exited on signal 11 (SIGSEGV) after 11147.271614 seconds from start
[14-Mar-2015 21:21:16] NOTICE: [pool www] child 82712 started

Мой Nginx Conf
/usr/local/etc/nginx/nginx.conf

worker_processes  1;
events {
worker_connections  1024;
}
http {
include       mime.types;
default_type  application/octet-stream;
sendfile        on;
keepalive_timeout  65;
include sites-enabled/*.conf;
}

Мой виртуальный сервер Nginx
/usr/local/etc/nginx/sites-available/local.conf

server {
listen                *:80;
server_name           localhost;
error_log            /log/virtualhost/error.log;
root                 /server;
location / {
try_files  $uri  $uri/  /index.php?$args;
index index.php;
}
location ~ \.php$ {
fastcgi_index   index.php;
fastcgi_pass    unix:/usr/local/var/run/php-fpm/php-fpm.sock;
include         fastcgi_params;
fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
}
}

Мой php-fpm conf
/usr/local/etc/php/5.6/php-fpm.conf

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
;user = _www
;group = _www
listen = /usr/local/var/run/php-fpm/php-fpm.sock

3

Решение

У меня была эта проблема, и я решил ее, перекомпилировав php с различными опциями:

brew uninstall php56 && brew install php56 --with-debug --without-apache

Кажется, что-то пошло не так с оригинальной сборкой, может быть, с этими флагами или цепочкой инструментов. Кажется, я помню, что он жаловался на то, что в первый раз не было инструментов xcode cli, а затем установил их и снова запустил сборку. В любом случае, это сработало для меня.

SIGSEGV в вашем журнале FPM означает «ошибка сегментации», что является ошибкой в ​​заблуждении …. кишки PHP, я думаю, не вещь конфигурации … Конечно, кто-то более умный может расширить это 😉

4

Другие решения

У меня было много тупиков, пытающихся понять это. После попытки решения BaronVonKaneHoffen, все еще нет бобов. Я прочитал в документации Homebrew после переустановки:

OS X 10.8 и новее поставляются с предустановленной php-fpm, чтобы убедиться, что вы используете версию brew, вам нужно убедиться, что / usr / local / sbin находится перед / usr / sbin в вашей переменной PATH:

PATH = «/ USR / местные / SBIN: $ PATH»

OSX родные php-fpm был запущен, а не тот, упакованный из homebrew,

Я отредактировал файл $ PATH, написав .bash_profile Сценарий следующим образом:

В терминале:

cd
touch .bash_profile
nano .bash_profile

Затем напишите в файле:

export PATH=/usr/local/sbin:${PATH}

и сохранить.

Перезагрузите компьютер и посмотрите, поможет ли это!

2

Я решил эту проблему, причина в том, что процесс php не имеет прав записи для пути к файлу сеанса, поэтому решение таково:

  1. редактировать /usr/local/etc/php/5.6/php.ini и дать session.save_path доступный для записи каталог;
  2. / usr / local / opt / php56 / sbin / php56-fpm reload;
1
По вопросам рекламы [email protected]