Jump to content
Froxlor Forum
  • 0

[14.04, PHP7.3] mod_fcgid: error reading data from FastCGI server


Patrick Schubert

Question

Posted

Servus zusammen,

Ich habe eine recht alte Froxlor Installation - 0.9.39.5 (DB: 201802130) - auf einem Ubuntu 14.04.6 LTS.

Bis jetzt lief nur PHP 5.6, jetzt möchte ich zusätzlich PHP7 installieren.

Leider ist seit April aufgrund von "EOL" kein normales installieren via APT von PHP7 auf 14.04 mehr möglich --> selbst gebuildet.

Danach symlink gelegt für die main php bin und die php-cgi bin: /usr/bin/php7-cgi ist also vorhanden und sollte funktionieren. :-)

Nun habe ich versucht einfach eine neue PHP7 Konfig in Froxlor zu erstellen (siehe Anhang) und einfach der Domain, die PHP7 braucht, zuzuweisen.

Nun kommt folgender Error in der apache error log:
 

Connection reset by peer: [client x.x.x.x:56417] mod_fcgid: error reading data from FastCGI server

Leider bin ich nicht PRO genug, dass ich wüsste, wie ich jetzt weiter verfahren will. ich blicke leider durch die vielen vielen config Files nicht mehr wirklich durch.

Kann mir wer helfen? :-)

Ich möchte NICHT php5.6 komplett killen (zuviele Seiten laufen auf dem Server wo es zu Problemen kommen könnte bei dem PHP Update), sondern PHP7 parallel laufen haben und auswählen können pro Domain welche PHP Version ich nehme. Denke das sollte ja machbar sein, hoffe mir kann wer helfen.

 

Danke Leute, lg Patrick

Bildschirmfoto 2019-07-30 um 10.02.57.png

17 answers to this question

Recommended Posts

Posted
47 minutes ago, Patrick Schubert said:

Danach symlink gelegt für die main php bin und die php-cgi bin: /usr/bin/php7-cgi ist also vorhanden und sollte funktionieren. ?

sollte funktioneren? Teste doch mit 

/usr/bin/php7-cgi -v

Am besten postest du dann noch einen vhost der diese config verwendet und den entsprechenden generierten php-fcgi-wrapper usw.

Posted

/usr/bin/php7-cgi -v
PHP 7.3.7 (cgi-fcgi) (built: Jul 30 2019 09:25:40)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies

VHOST:

# 35_froxlor_normal_vhost_orderlion.at.conf
# Created 30.07.2019 09:51
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

# Domain ID: 53 - CustomerID: 11 - CustomerLogin: orderlion
<VirtualHost 178.62.111.85:80>
  ServerName orderlion.at
  ServerAlias www.orderlion.at
  ServerAdmin office@orderlion.at
  DocumentRoot "/var/customers/webs/orderlion/orderlion.at/"
  FcgidIdleTimeout 30
  SuexecUserGroup "orderlion" "orderlion"
  <Directory "/var/customers/webs/orderlion/orderlion.at/">
    <FilesMatch "\.(php)$">
      SetHandler fcgid-script
      FcgidWrapper /var/www/php-fcgi-scripts/orderlion/orderlion.at/php-fcgi-starter .php
      Options +ExecCGI
    </FilesMatch>
    Require all granted
    AllowOverride All
  </Directory>
  Alias /awstats "/var/customers/webs/orderlion/awstats/orderlion.at"
  Alias /awstats-icon "/usr/share/awstats/icon/"
  ErrorLog "/var/customers/logs/orderlion-error.log"
  CustomLog "/var/customers/logs/orderlion-access.log" combined
</VirtualHost>

 

 

/var/www/php-fcgi-scripts/orderlion/orderlion.at/php-fcgi-starter:

#!/bin/sh

#
# starter created/changed on 2019.07.30 09:51:46 for domain 'orderlion.at' with id #53 from php template 'PHP7' with id #3
# Do not change anything in this file, it will be overwritten by the Froxlor Cronjob!
#

umask 022
PHPRC='/var/www/php-fcgi-scripts/orderlion/orderlion.at/'
export PHPRC
PHP_FCGI_CHILDREN=0
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=250
export PHP_FCGI_MAX_REQUESTS
exec /usr/bin/php7-cgi -c '/var/www/php-fcgi-scripts/orderlion/orderlion.at/'

Danke für eure Hilfe! :-)

Posted

Sieht aber doch ganz okay aus soweit, funktioniert denn ein einfaches test-php-script z.B. mit folgendem inhalt:

<?php phpinfo(); ?>

 

Posted

Dann ist die Warhscheinlichkeit groß, dass es wohl falsch selbst gebaut wurde. Ggfls wäre hier was fertiges wie z.B. ppa:ondrej (einfach mal googlen, ubuntu 14 php ppa:ondrej) das richtigere für dich

Posted

Ich habe nur deshalb selbst gebuilded, weil ppa:ondrej für 14.04 nix mehr ausspuckt! :(

Ich kann zwar die PPA adden, aber apt-cache search php7 spuckt absolut gar nix aus, über php5 is Schluss. Hab alles versucht.

Hab alles versucht, keine Chance irgendwie seit April an ein fertig gebuildetes PHP7 auf 14.04 zu kommen. 

Das war mein configure command vor dem make:

./configure --prefix=$HOME/bin/php7 \
    --enable-mysqlnd \
    --with-pdo-mysql \
    --with-pdo-mysql=mysqlnd \
    --enable-bcmath \
    --enable-fpm \
    --with-fpm-user=www-data \
    --with-fpm-group=www-data \
    --enable-mbstring \
    --enable-phpdbg \
    --enable-shmop \
    --enable-sockets \
    --enable-sysvmsg \
    --enable-sysvsem \
    --enable-sysvshm \
    --enable-zip \
    --without-libzip \
    --with-zlib \
    --with-curl \
    --with-pear \
    --with-openssl \
    --enable-pcntl \
    --with-readline

 

Posted
5 minutes ago, Patrick Schubert said:

Ich habe nur deshalb selbst gebuilded, weil ppa:ondrej für 14.04 nix mehr ausspuckt! :(

Ich kann zwar die PPA adden, aber apt-cache search php7 spuckt absolut gar nix aus, über php5 is Schluss. Hab alles versucht.

Hab alles versucht, keine Chance irgendwie seit April an ein fertig gebuildetes PHP7 auf 14.04 zu kommen. 

Das war mein configure command vor dem make:


./configure --prefix=$HOME/bin/php7 \
    --enable-mysqlnd \
    --with-pdo-mysql \
    --with-pdo-mysql=mysqlnd \
    --enable-bcmath \
    --enable-fpm \
    --with-fpm-user=www-data \
    --with-fpm-group=www-data \
    --enable-mbstring \
    --enable-phpdbg \
    --enable-shmop \
    --enable-sockets \
    --enable-sysvmsg \
    --enable-sysvsem \
    --enable-sysvshm \
    --enable-zip \
    --without-libzip \
    --with-zlib \
    --with-curl \
    --with-pear \
    --with-openssl \
    --enable-pcntl \
    --with-readline

 

Du nutzt doch FCGID wenn ich das richtig sehe....wieso fehlt dann da --enable-cgi?

So hab ich 7.0 vor jahren mal gebaut:

./configure \
--prefix=/usr/local/php7.0/ \
--with-config-file-path=/usr/local/php7.0/etc \
--with-config-file-scan-dir=/usr/local/php7.0/etc/conf.d \
--enable-cgi \
--enable-cli \
--with-imap=/usr \
--with-kerberos \
--with-imap-ssl \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring  \
--with-libxml-dir=/usr \
--enable-soap \
--with-curl \
--with-mcrypt \
--with-zlib \
--with-gd \
--with-pdo-mysql \
--with-mysqli \
--enable-sockets \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--enable-gd-native-ttf \
--with-openssl \
--enable-inline-optimization \
--with-bz2 \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--enable-ftp \
--with-gettext \
--enable-calendar \
--enable-intl \
--enable-exif \
--enable-bcmath \
--enable-dba \
--enable-shmop \
--enable-sysvsem \
--enable-wddx \
--with-pdo-mysql \
--with-mysql-sock=/var/run/mysqld/mysqld.sock \
--enable-opcache

 

Posted

Danke ich builde nochmal neu!
EDIT: Habs mit --enable-cgi neu gebuilded, leider keine Veränderung!

Neuen Error entdeckt: php-fcgi-starter: 15: exec: /usr/bin/php7-cgi: Permission denied
Vielleicht kommen wir so weiter?

Posted

du wiederholst immer nur deine fehlermeldung, aber bitte gib uns doch auch mal weitere informationen, wie sollen wir so helfen? zeig halt mal alle permissions,  mit welchem user wird das ausgeführt, etc.etc.etc. wir haben keine glaskugel 

Posted

Ich kann euch gerne allerhand Infos geben aber ihr müsst mir dazu sagen was genau ihr wollt :D
Ich weiß leider zu wenig mit welchen User/Rechten Froxlor im Hintegrund arbeitet.
Alles was ich sagen kann ist, dass ich mit root php7 wget und gebuilded habe, symlinks erstellt habe und das neue Froxlor PHP profil mit dem angepassten "CGI-Pfad" (/usr/bin/php7-cgi) angelegt habe. Dieses neue "PHP-profil" hab ich dann der Domain "orderlion.at" in Froxlor zugewiesen.


Mehr hab ich im Grunde nicht gemacht - meine Hoffnung war, dass froxlor nun einfach für diese eine Domain (orderlion.at) (siehe oben) PHP7 anstatt PHP5 verwendet, thats all.
Mehr hab ich nicht gemacht ... also hab an keinen Rechten oder sonst was herumgespielt. Hab den Froxlor Cron (mit PHP5) einmal laufen lassen, nun gibts eben obigen Error in der /var/log/apache2/error.log

Der Rest sollte Standard froxlor sein - also mit welchen Usern was ausgeführt wird etc. habe hier denke ich eine relative Standard Installation. Apache 2.4 auf Ubuntu 14.04.6, Froxlor 0.9.39.5


Ich kann euch gerne noch weitere Infos geben wenn ihr mir genau sagt was ihr braucht.

EDIT: Ich hatte vor Ewigkeiten mal FPM aktiviert - ein Freund hatte mir damals geholfen. Nutze ich aber nicht mehr. Da ich mich damit zu wenig auskenne hab ich das einfach gelassen wie es ist. kann es mit PHP-FPM zu tun haben dass es jetzt zu diesen Problemen kommt?

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...