Php fastcgi internal server error

Resolved FastCGI PHP 500 Internal Server Error cgi_wrapper failed to setgid

I get always the same error (500 Internal Server Error), setting up any website with FastCGI-PHP (any version fron 7.0 to 8.0)
or accessing the webmail (both Roundcube and Horde).

The problem seems to be related to suexec, cgi_wrapper and permissions («failed to setgid»).

apache2 -V | grep SUEXEC
-D SUEXEC_BIN=»/usr/lib/apache2/suexec»

ls /usr/lib/apache2/suexec
4510 -r-s—x— 1 root www-data 27904 Dec 21 09:51 /usr/lib/apache2/suexec

ls /var/www/cgi-bin/cgi_wrapper/cgi_wrapper
0755 -rwxr-xr-x 1 root root 22896 Jan 4 12:22 /var/www/cgi-bin/cgi_wrapper/cgi_wrapper

(/var/www is a real folder, not a soft link)

For example, accessing the webmail configured with roundcube

tail /var/log/apache2/error.log
[Wed Feb 17 11:05:25.814793 2021] [fcgid:warn] [pid 23408] (104)Connection reset by peer: [client 78.134.99.7:49966] mod_fcgid: error reading data from FastCGI server
[Wed Feb 17 11:05:25.814821 2021] [core:error] [pid 23408] [client 78.134.99.7:49966] End of script output before headers: index.php

tail /var/log/apache2/suexec.log
[2021-02-17 11:05:25]: uid: (995/roundcube_sysuser) gid: (1007/1007) cmd: cgi_wrapper
[2021-02-17 11:05:25]: failed to setgid (1007: cgi_wrapper)

On a virtual machine with the same environment, FastCGI-PHP works normally,
so I tried to swap the suexec and cgi_wrapper executables.
virtual machine using remote server suexec and cgi_wrapper: WORKS
remote server using virtual machine suexec and cgi_wrapper: DOES NOT WORK

Though for websites I can workaround the problem using FPM, the webmail can only use FastCGI-PHP.

FcgidInitialEnv PP_CUSTOM_PHP_CGI_INDEX plesk-php73-fastcgi
FcgidInitialEnv PP_CUSTOM_PHP_INI «/etc/psa-webmail/roundcube/php.ini»
FcgidMaxRequestLen 134217728

Options -Indexes +FollowSymLinks
AllowOverride FileInfo AuthConfig Limit
Require all granted
Include «/etc/apache2/plesk.conf.d/roundcube.htaccess.inc»

So ALL my websites cannot use their webmail, that’s a huge problem.
Can you help me?

Источник

Как исправить ошибку 500 ? (Php7.2 и nginx)

Доброе время суток. Уважаемые форумчане, понимаю что задача элементарная и выполняется в течении нескольких минут, но у меня возникли проблемы. Не могу понять причины по которым возникает ошибка 500. Характеристики: Система:
Distributor ID: Ubuntu
Description: Ubuntu 16.04.5 LTS
Release: 16.04
Codename: xenial

 Linux 4.4.0-131-generic #157-Ubuntu SMP Thu Jul 12 15:51:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 
PHP 7.2.8 (cli) (built: Jul 23 2018 03:13:45) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies; 

Задача собрать простейший LAMP.

sudo add-apt-repository ppa:ondrej/php sudo add-apt-repository ppa:ondrej/nginx-mainline sudo apt-get update && sudo apt-get upgrade && sudo apt-get --purge autoremove && sudo apt-get clean && sudo apt-get autoclean 

1. Добавили и обновили репозитории;
sudo apt install nginx.[br] Thanks for using nginx!

conf.d koi-utf mime.types nginx.conf uwsgi_params fastcgi_params koi-win modules scgi_params win-utf 

\\ Насколько я помню там должно быть ещё два каталога каталоге sites-available и site — enable, но их нет .
2. Установили nginx;

$ sudo apt install php7.2-fpm php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-gd php7.2-xml php7.2-mysql php7.2-cli php7.2-zip php7.2-curl 
$ php -v PHP 7.2.8 (cli) (built: Jul 23 2018 03:13:45) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies 
$ sudo service php7.2-fpm status php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor prese Active: active (running) since Ср 2018-08-01 00:40:51 EET; 6min ago Docs: man:php-fpm7.2(8) Main PID: 27270 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/se Tasks: 3 Memory: 15.5M CPU: 65ms CGroup: /system.slice/php7.2-fpm.service ├─27270 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─27272 php-fpm: pool www └─27273 php-fpm: pool www 
$ sudo ps aux | grep php root 27270 0.0 0.7 445544 28496 ? Ss 00:40 0:00 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) www-data 27272 0.0 0.2 445544 8936 ? S 00:40 0:00 php-fpm: pool www www-data 27273 0.0 0.2 445544 8940 ? S 00:40 0:00 php-fpm: pool www root 27356 0.0 0.0 18800 1020 pts/2 S+ 00:45 0:00 grep --color=auto php 

test.php (Содержит )
$ php test.php (выполняется в командной строке)

Читайте также:  Php class member array

3. Установка php прошла успешно.

$ sudo chown www-data:www-data /usr/share/nginx/html -R $ sudo systemctl enable nginx $ sudo systemctl enable php7.2-fpm 

http://localhost/phpinfo.php выдает ошибку 500 Internal Server Error

 /etc/nginx/conf.d/default.conf server < listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /var/www/html/public; index index.php index.html index.htm; server_name localhost; charset utf-8; gzip on; gzip_vary on; gzip_disable "msie6"; gzip_comp_level 6; gzip_min_length 1100; gzip_buffers 16 8k; gzip_proxied any; gzip_types text/plain text/css text/js text/xml text/javascript application/javascript application/x-javascript application/json application/xml application/xml+rss; location / < try_files \$uri \$uri/ /index.php?\$query_string; >location ~ \.php\$ < try_files \$uri /index.php =404; fastcgi_split_path_info ^(.+\.php)(/.+)\$; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name; include fastcgi_params; >location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc|svg|woff|woff2|ttf)\$ < expires 1M; access_log off; add_header Cache-Control "public"; >location ~* \.(?:css|js)\$ < expires 7d; access_log off; add_header Cache-Control "public"; >location ~ /\.ht < deny all; >> 
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events < worker_connections 1024; >http < include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; >

Почему возникает эта ошибка? Как её исправить?

Логи нжинкса (и логи пыха) про ошибку 500 в студию.

deep-purple ★★★★★ ( 01.08.18 02:55:55 MSK )
Последнее исправление: deep-purple 01.08.18 02:56:25 MSK (всего исправлений: 1)

И да, nginx тут не при чем, это твой скрипт его валит.

index index.php index.html index.htm; 

выдает ошибку 500 Internal Server Error:

🙂 Я больше так не буду, честно-честно. Психанула ….

$ php --info | grep error display_errors => STDOUT => STDOUT display_startup_errors => Off => Off error_append_string => no value => no value error_log => no value => no value error_prepend_string => no value => no value error_reporting => no value => no value html_errors => Off => Off ignore_repeated_errors => Off => Off log_errors => Off => Off log_errors_max_len => 1024 => 1024 track_errors => Off => Off xmlrpc_error_number => 0 => 0 xmlrpc_errors => Off => Off 
::1 - - [01/Aug/2018:01:32:33 +0200] "GET /favicon.ico HTTP/1.1" 500 595 "http://localhost/phpinfo.php" " ( Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu" "-" 
2018/08/01 00:57:41 [emerg] 27576#27576: open() "/etc/nginx/snippets/fastcgi-php.conf" failed (2: No such file or directory) in /etc/nginx/conf.d/default.conf:16 

Файла fastcgi-php.conf нигде нет . совсем.

А созданный файл это test.php

Нужно создавать отдельный файл хоста и там заниматься всей порнографией, а не колупать основные файлы настроек нжинкса. Файл хоста выглядит как-то так:

server < listen 80; server_name yourdomain.tld www.yourdomain.tld; charset utf-8; access_log /path/do/yourdomain.tld/logs/access.log; error_log /path/do/yourdomain.tld/logs/error.log; if ($host != 'www.yourdomain.tld') < rewrite ^(.*)$ http://www.yourdomain.tld$1 permanent; >set $root_path '/path/do/yourdomain.tld/public_html'; root $root_path; # а тут прон с правилами роутинга >

И еще, фастцги и фпм это чутка разные вещи. Определись, тебе надо то или это. http://xandeadx.ru/blog/php/866

Файла fastcgi-php.conf нигде нет . совсем.

И да, тема должна быть в Job

apt-get —search php7-fpm нет такого :).

apt-get — интерфейс командной строки для получения пакетов, информации из доверенных источников, а также установки, обновления и удаления пакетов вместе с их зависимостями.

Основные команды: update — получить новые списки пакетов
upgrade — выполнить обновление
install — установить новые пакеты (на месте пакета указывается имя пакета (libc6, а не имя файла libc6.deb)
remove — удалить пакеты
purge — удалить пакеты вместе с их файлами настройки
autoremove — автоматически удалить все неиспользуемые пакеты
dist-upgrade — обновить всю систему, подробнее в apt-get(8)
dselect-upgrade — руководствоваться выбором, сделанным в dselect
build-dep — настроить всё необходимое для сборки пакета из исходного кода
clean — удалить скачанные файлы архивов
autoclean — удалить старые скачанные файлы архивов
check — проверить наличие нарушенных зависимостей
source — скачать архивы с исходным кодом
download — скачать двоичный пакет в текущий каталог
changelog — скачать и показать файл изменений заданного пакета
Какой search. 0_o

apt-cache search php | grep fpm

Спасибо. Интересная статья. Как я понимаю, мне необходим именно PHP-FPM. «Nginx умеет работать с FastCGI приложениями из коробки, но именно для PHP дополнительно нужен PHP-FPM». Переделала всё.
nginx.conf

user www-data; worker_processes auto; pid /var/run/nginx.pid; events < worker_connections 1024; # multi_accept on; >http < ## # Basic Settings ## # timer_resolution 100ms; # worker_rlimit_nofile 8192; # worker_priority -5; #Увеличитвваем приоритет sendfile off; 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; ## # SSL Settings ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_min_length 1100; gzip_disable "MSIE 5\.(. *SV1)"; gzip_vary on; gzip_proxied any; gzip_comp_level 4; gzip_buffers 16 8k; # gzip_http_version 1.1; gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; >
server < charset utf-8; client_max_body_size 128M; listen 80; ## listen for ipv4 #listen [::]:80 default_server ipv6only=on; ## listen for ipv6 server_name test.ru h; root /home/nika/www/localtest/; index index.php; access_log /home/nika/www/localtest/fhca_access.log; error_log /home/nika/www/localtest/fhca_error.log; location / < # Redirect everything that isn't a real file to index.php try_files $uri $uri/ /index.php$is_args$args; ># uncomment to avoid processing of calls to non-existing static files by Yii #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ < # try_files $uri =404; #>#error_page 404 /404.html; location ~ \.php$ < include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; try_files $uri =404; >location ~ /\.(ht|svn|git) < deny all; >> 
[02-Aug-2018 21:37:24] NOTICE: Terminating . [02-Aug-2018 21:37:25] NOTICE: exiting, bye-bye! [02-Aug-2018 21:38:12] NOTICE: fpm is running, pid 1167 [02-Aug-2018 21:38:12] NOTICE: ready to handle connections [02-Aug-2018 21:38:12] NOTICE: systemd monitor interval set to 10000ms 
::1 - - [02/Aug/2018:13:36:24 +0200] "GET /phpinfo.php HTTP/1.1" 500 595 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/68.0.3440.75 Chrome/68.0.3440.75 Safari/537.36" "-" ::1 - - [02/Aug/2018:13:36:25 +0200] "GET /favicon.ico HTTP/1.1" 500 595 "http://localhost/phpinfo.php" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/68.0.3440.75 Chrome/68.0.3440.75 Safari/537.36" "-" ::1 - - [02/Aug/2018:13:36:28 +0200] "GET / HTTP/1.1" 500 595 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/68.0.3440.75 Chrome/68.0.3440.75 Safari/537.36" "-" ::1 - - [02/Aug/2018:13:36:29 +0200] "GET /favicon.ico HTTP/1.1" 500 595 "http://localhost/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/68.0.3440.75 Chrome/68.0.3440.75 Safari/537.36" "-" ::1 - - [02/Aug/2018:14:49:38 +0200] "GET / HTTP/1.1" 500 595 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/68.0.3440.75 Chrome/68.0.3440.75 Safari/537.36" ::1 - - [02/Aug/2018:14:49:38 +0200] "GET /favicon.ico HTTP/1.1" 500 595 "http://localhost/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/68.0.3440.75 Chrome/68.0.3440.75 Safari/537.36" ::1 - - [02/Aug/2018:14:49:44 +0200] "GET /phpinfo.php HTTP/1.1" 500 595 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/68.0.3440.75 Chrome/68.0.3440.75 Safari/537.36" ::1 - - [02/Aug/2018:14:49:44 +0200] "GET /favicon.ico HTTP/1.1" 500 595 "http://localhost/phpinfo.php" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/68.0.3440.75 Chrome/68.0.3440.75 Safari/537.36" ::1 - - [02/Aug/2018:14:57:01 +0200] "GET /phpinfo.php HTTP/1.1" 500 595 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/68.0.3440.75 Chrome/68.0.3440.75 Safari/537.36" ::1 - - [02/Aug/2018:14:57:02 +0200] "GET /favicon.ico HTTP/1.1" 500 595 "http://localhost/phpinfo.php" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/68.0.3440.75 Chrome/68.0.3440.75 Safari/537.36" ::1 - - [02/Aug/2018:14:57:07 +0200] "GET / HTTP/1.1" 500 595 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/68.0.3440.75 Chrome/68.0.3440.75 Safari/537.36" 
2018/08/02 19:45:17 [info] 13595#13595: Using 32768KiB of shared memory for nchan in /etc/nginx/nginx.conf:63 2018/08/02 19:49:08 [info] 1179#1179: Using 32768KiB of shared memory for nchan in /etc/nginx/nginx.conf:63 2018/08/02 19:51:49 [info] 1174#1174: Using 32768KiB of shared memory for nchan in /etc/nginx/nginx.conf:63 2018/08/02 19:55:54 [info] 3430#3430: Using 32768KiB of shared memory for nchan in /etc/nginx/nginx.conf:63 2018/08/02 19:58:14 [info] 1154#1154: Using 32768KiB of shared memory for nchan in /etc/nginx/nginx.conf:63 2018/08/02 20:43:06 [info] 1177#1177: Using 32768KiB of shared memory for nchan in /etc/nginx/nginx.conf:63 2018/08/02 21:23:03 [info] 4213#4213: Using 32768KiB of shared memory for nchan in /etc/nginx/nginx.conf:64 

Проблема. При обращении test.ru Php не выполняются, а скачиваются ((((.

Источник

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