Не работает phpinfo nginx

Не запускаются PHP скрипты на NGINX

Приветствую всех форумчан, столкнулся с такой проблемой, на сервере Ubuntu 20.04 установлен NGINX+PHP7.4+MariaDB, NGINX работает испрапвно, html страничку при обращении к хосту выдаёт правильно, файл phpinfo.php при обращении не скачивается, а отображает информацию включая Server API: FPM/FastCGI — это говорит о том что PHP работает корректно, phpmyadmin тоже работает исправно, но вот проблема, пытаюсь залить хотябы скрипт форума phpbb и обращение к хосту выдаёт белую страницу, во всех папках присутствует файл .htaccess это я так понимаю атрибут APACHE, может какая то несовместимость? Как решить данную проблему и реально ли?

Кто знает, мой друг, кто знает? Кстати, что в журнале ошибок?

у тебя должен быть установлен php-fpm 7.4

в настройках nginx должен быть указан его сокет

Нет сокета -> нет коммуникации с fpm -> нет php -> нет phpinfo

А ОП нам говорит, что phpinfo есть.

ну пусть по мануалу пройдется и наличие процесса php-fpm проверит

Источник

Не работает php в связке nginx + php5-fpm

Добрый вечер, даже не знаю что не работает, html работает, а при заходе на страницу php в хроме: Ошибка. Ссылка не работает. в логах php5-fpm все нормально, в nginx пусто в логах ошибок, php5-fpm слушает 9000 порт, было установлено: nginx/1.0.11 PHP 5.3.3-7+squeeze3 with Suhosin-Patch (cgi-fcgi) с подменой зависимостей на него поставил php5-fpm_5.3.3-1(плохо но может лучше, чем из репозиториев dotdeb и т.д.) все настроено. Даже не знаю куда копать, помогите пожалуйста.

user www-data;
worker_processes 1;
worker_rlimit_nofile 8192;
worker_priority -5;
pid /var/run/nginx.pid;

events <
worker_connections 768;
# multi_accept on;
>

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;

server_names_hash_bucket_size 64;
# server_name_in_redirect off;

include /etc/nginx/mime.types;
default_type application/octet-stream;

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

gzip on;
gzip_disable «msie6»;
gzip_min_length 1100;
# gzip_vary on;
gzip_proxied any;
gzip_comp_level 9;
gzip_buffers 4 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

map $scheme $server_https <
default off;
https on;
>

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
>

server <
listen 80;

root /var/www;
index index.html index.htm;
server_name localhost;

location / <
# First attempt to serve request as file, then
# as directory, then fall back to index.html
try_files $uri $uri/ /index.html;
>

error_page 500 502 503 504 /50x.html;
location = /50x.html <
root /usr/share/nginx/www;
>

\.php$ <
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have «cgi.fix_pathinfo = 0;» in php.ini
#
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
>

/sites-enabled/site.ru (изменил свой сайт на site.ru)

server <
listen 80;
server_name site.ru;
root /var/www/site.ru;
index index.php;

* ^.+.(js|css|png|jpg|jpeg|gif|ico)$ <
access_log off;
expires max;
>
location

.php$ <
# fastcgi_split_path_info ^(.+\.php)(.*)$
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;

Читайте также:  Починить натяжной потолок после пореза своими руками

fastcgi_param DOCUMENT_ROOT /site.ru;
fastcgi_param SCRIPT_FILENAME /site.ru$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /site.ru$fastcgi_script_name;

include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
>

location = /favicon.ico <
log_not_found off;
access_log off;
>
location = /robots.txt <
allow all;
log_not_found off;
access_log off;
>
## Disable viewing .htaccess & .htpassword
location

в настройках php5-fpm в файле /pool.d/ww(w).conf (добавил скобки, а то в ссылку преобразует) поменял только:

pm.max_children = 10
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 10

и по дефолту было:

[www]
listen = 127.0.0.1:9000
user = www-data
group = www-data

Источник

unixforum.org

Форум для пользователей UNIX-подобных систем

  • Темы без ответов
  • Активные темы
  • Поиск
  • Статус форума

nginx php не работает

Модератор: Bizdelnick

nginx php не работает

Сообщение cougraAcc » 10.04.2010 14:35

Re: nginx php не работает

Сообщение sash-kan » 10.04.2010 16:45

Re: nginx php не работает

Сообщение Debian GreS » 12.04.2010 20:57

Все настройки nginx находятся в файле /etc/nginx/nginx.conf. Отредактируем хост по умолчанию:

Внесем следующие изменения:

В начальной конфигурации дефолтного хоста, блок *location

.php$* закомментирован. Необходимо раскомментировать его. При этом, необходимо обратиться внимание на строчку «includefastcgi_params», что есть ошибка. Необходимо вписать пробелы, как это указано выше.

После чего необходимо перезагрузить nginx:

Далее, запускаете свой проверочный php-скрипт. В результате будет выведена информация о PHP и его окружении. Необходимо обратить внимание на строчку Server API. Если значение в данной строке — CGI/FastCGI, то можно констатировать, что PHP под nginx успешно установлен.

Источник

Почему не обрабатываются файлы .php в связке Nginx + PHP-FPM?

Подскажите пожалуйста, в чем может быть проблема.

Ubuntu Server 18.04
Установил Nginx 1.14 и PHP 7.2 FPM

Файлы .html нормально открываются а при обращении к .php просто пустая страница, ни ошибки ничего.
В логах пусто, только логи доступа.

php.ini стандартный
Поменял в нем только вот это
cgi.fix_pathinfo=0 (было 1)

Его я не трогал тоже, стандартный.

Конфиг www.conf тоже стандартный

В директории сайта все папки и файлы выставил владельца www-data, до этого был root

В чем может быть проблема, что я не доконфигурировал?

Естественно я каждый раз при изменении конфигов перезагружал и nginx и php-fpm
systemctl restart nginx && systemctl restart php7.2-fpm

  • Вопрос задан более двух лет назад
  • 708 просмотров

Попробуйте такой конф:

Вчера уже не получилось проверить, вот сейчас проверил.

Сейчас проверил и начал было уже писать Вам о новой ошибке.
С Вашим конфигом теперь при открытии любой страницы хоть .php хоть .html выскакивает 404 страница ошибки.

Потом еще раз глянул в конфиг и обнаружил что когда на тостер закидывал конфиг я домен подменил на site.ru, балбес блин )))

В общем я проверил и с Вашим конфигом теперь работает все!
За что огромное спасибо!
Отмечу решением.

У меня есть еще маленький вопрос, могу ли я создать пользователя и группу к примеру «yuri» и настроить php-fpm и nginx чтобы они работали и выполняли файлы сайты от этой группы и пользователя?
Ну соответственно я и сам сайт весь переведу на эту группу и пользователя CHOWN -R

Читайте также:  Что делать если кишечник не работает у ребенка

А еще лучше если Вы мне подскажете как вообще для каждого сайта свой юзер и группа или так не делают по феншую и просто я загоняюсь? Как правильно делать? Или оставить родную группу www-data?

Я понял Вас, оставлю как есть группу и пользователя.

Источник

Не получается подружить nginx и php

Собственно сабж
Нашёл множество инструкций по поднятию стека LEMP, например эту http://rus-linux.net/MyLDP/server/Howto-install-LEMP.html делаю всё как написано. Дистрибутив — CentOS 7.
Пытаюсь открыть страницу, браузер мне вместо этого предлагает сохранить php-файл.
И ещё смежный вопрос: что нужно сделать в пакетном менеджере, чтобы установка php не тащила httpd?

чтобы установка php не тащила httpd?

Не ставить пакет php.

У тебя же по ссылке есть Отключение Httpd

скорее всего php-fpm не настроено в /etc/php-php.d/www.conf или listen не совпадает с настройкой fastcgi_pass nginx

так там для c7 не предлагают php ставить, только php-fpm. ошибся, пора спать.

Паставить, а потом отключить. Нахуа?

Вот так весело собирают пакеты в центоси. Когда у меня krfb и krdc оказались в одном пакете и ставились только вместе — я тоже был удивлён.

Ставь «nginx php5». Есть подозрение, что по зависимостям вылезают какие-то апачевские либы и модули.

В пакете php идет mod_php для апача, ну и явно указан в зависимостях httpd. Ставить надо nginx php-fpm.

Я ещё раз говорю, что всё сделал по инструкции. Установил php-fpm — не заработало, на всякий случай установил php — всё равно не заработало.
Не очень понимаю механику. С apache php соединяется при помощи модуля, для nginx такого модуля нет, но нужно запустить php-fpm «systemctl start php-fpm.service». Всё остальное тоже выполнил. Где искать ошибку?

а если телнетом на порт php-fpm стукануть, то что потдается?

Ну, если даже инструкция с самого РУСЛИНУКСНЕТ не работает, то совершенно очевидно, что способов запустить лемп-стек на центоси не существует.

Ставишь nginx + php + php-fpm , в nginx.conf :

Стартуешь демон php-fpm и проверяешь результат 🙂

Тогда еще в конфиге пула php-fpm надо на этот сокет поменять, по дефолту там 9000 порт.

а если телнетом на порт php-fpm стукануть, то что потдается?

В подходе. Для начала разберись в общих чертах как эта связка должна работать, а потом уже настраивай её. Тебе ведь её потом эксплуатировать.
Не надо пытаться слепо повторить инструкцию.

В общих чертах понимаю, что к nginx php привязывается через fastcgi-интерфейс php-fpm, а к apache с помощью модуля mod_php.

В /etc/php-fpm.conf есть строки:

В /etc/nginx/nginx.conf есть:

В /var/log/nginx/access.log — сообщения об успешных отгрузках страниц.
В /var/log/nginx/error.log и /var/log/nginx/php-fpm/error.log — ничего криминального.

У меня до php-fpm клиентские запросы кажется на доходят?

Читайте также:  Race driver grid не работает джойстик

Покажи весь конфиг.

nginx обращается к демону php-fpm по протоколу FastCGI через unix или обычный сетевой сокет. Домен php-fpm запускает воркеры которые исполняют php-скрипты.

А вот это вот что такое:

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

И почему директория логов php-fpm находится внутри директории логов nginx?

Опечатка
/var/log/php-fpm/error.log
Это было в /etc/nginx/nginx.conf.default Я это перенёс в /etc/nginx/nginx.conf и раскоментировал.
Вообще-то ошибка возникает на виртуальном хосте описанном в файле /etc/nginx/conf.d/mycoolhost.ru.conf такого содержания:

\.php$ но nginx ругаясь в логах на неправильный конфиг. Тогда я добавил location

\.php$ в default_server

И ты ожидаешь что php будет работать на mycoolhost.ru?

Ладно, буду дальше курить доки по nginx. Я думал, что «_» (default_server) это глобальные настройки всех виртуальных хостов.

А может в jobs? За два килорубля настрою тебе LEMP. Ну или за килорубль, если на дебиане

Демпингую на 500 WMR 😀

А чё не сразу до одного доширака?

Так неинтересно. Должен быть аукцион дух состязания.

А вообще: не получится настроить php-fpm, повесь на бекенд Апач.

Что вкурил: мне нужен модуль ngx_http_fastcgi_module, он настраивается путём добавления блока location, содержащего соответствующие директивы https://nginx.org/ru/docs/http/ngx_http_fastcgi_module.html
Если блок location добавлен в блок сервера (виртуального хоста) по умолчанию — то его действия распостраняются и на все остальные серверы.
Так у меня точно так и есть.
Проще показать.

Ладно, ладно) Ты если чё пиши, не стесняйся, мы тут.

Ты опять все усложнил.

Ну ок, читай документацию дальше. Пока-что ты прочёл явно недостаточно. Или понял недостаточно.

Держи конфиг, не мучайся

Можно указать server_name yourdomain.ru для твоего домена.

Для каждого домена я делал свой конфиг.

Centos 7 стоит php7 + php-fpm + nginx + owncloud + mariadb и т.п., без httpd
Подключаешь:

Закомментируй стандартные настройки (все секции server) в

. Почистить кеш в браузере.

Зайти на example.com/info.php

Конфиг owncloud, может кстати кому то еще пригодиться:

Так,
Если другие версии (сборки) ngninx и php-fpm данная инструкция сработает?
У меня установлены nginx 1.10.2 из epel, php и php-fpm 5.4.16 из base.

То что у тебя в nginx.conf в директиве listen не стоит default_server это нормально?

Нормально, зависит от конфигурации.

Да должно сработать конечно. Про кеш в браузере не забывайте очистить.

В сообщении выше

Сменил в конфигах tcp-сокет на файл сокета unix:/var/run/php-fpm/php-fpm.sock, почистил кэш — по прежнему нифига.

Потом решил ещё одну проверку сделать, обратился к серверу не по имени хоста, а по ip-адресу, в этом случае обращение должно идти к default_server, который отображает заглушку. Положил в корневые директории как default_server, так и хоста mycoolhost.ru файл ttt.php с содержанием:

Вобщем — запрашиваю ttt.php через ip-адрес — всё работает, запрашиваю через mycoolhost.ru — браузер вместо отображения предлагает сохранить php-файл на диск.

Для тех кто не читал переписку, любые попытки добавить директивы fastcgi_* куда-либо кроме default_server приводят к тому, что nginx отказывается запускаться.

Источник

Оцените статью