Hi everybody, after our discussion about contao I moved homes mount point and now my sites are mounted under /var/www/clients as required. I have a site with wordpress (it works well), but under the root directory they have a dir with a php script that should list the dir content. If I execute it from prompt it works # php index.php <HTML><BODY><pre> <A HREF="cslarch.rdf">cslarch.rdf</A> <A HREF="cslseri.rdf">cslseri.rdf</A> <A HREF="devewp/">devewp/</A> </pre></BODY></HTML> but in the browser the page is empty <html> <head></head> <body> <pre></pre> </body> </html> Any idea? A.
Are the directories it should display also within the same document_root? Put Code: <?php ini_set('display_errors', 1); to your code to see any issues.
Yes, they are. The script is in /var/www/clients/client29/web42/web/RePEc/csl with other files. I added the line you suggested without any kind of output. A.
The only reason I could think of is a wrong path within the script / script uses relative paths and gets executed in a non-expected context of folders without looking at the code / url call.
I put echo getcwd() . "\n"; in the code and I get /var/www/clients/client29/web42/web/RePEc/csl But echo exec('whoami'); returns "apache" even if the site is configured to use php-fpm web42 18013 17988 0 15:03 ? 00:00:00 php-fpm: pool web42 web42 18014 17988 0 15:03 ? 00:00:00 php-fpm: pool web42 ? A.
Please check that you dont have a .htaccess file in that directory that tries to enable mod_php for the .php extension and check the .htaccess file in the web root as well.
it should not return apache, maybe an issue with your vhost config? Check wether your setting ( php as fpm ) has been written to the apache vhost file or if there is an .err file. The fpm processes might spawn anyway.
the .err file would be in /etc/apache/sites-available But you could try switching PHP versions to any other and back to FPM, the issue could have several causes - maybe they're sorted out already?
And back to FPM aswell? Running as FastCGI is not the best option ... Then check again if there's an .err file
No. It doesn't. No .err file. In every .vhost file there are <IfModule mod_fcgid.c> sections, but none aboute php-fpm. In ISPConfig I can configure FGI for the default version of php, and for any additional verison available also FPM. Could be here the trick?
Have you enabled mod_fastcgi and actions to make php-fpm work with your apache configuration? The needed extra steps are explained in the howto.
I followed this tutorial: https://www.howtoforge.com/perfect-...l-php-pureftpd-postfix-dovecot-and-ispconfig3 But with phpinfo I noticed that if I set Fast-CGI I have: Server API: CGI/FastCGI and the vhost contains: [...] <IfModule mod_fcgid.c> IdleTimeout 300 ProcessLifeTime 3600 # MaxProcessCount 1000 DefaultMinClassProcessCount 0 DefaultMaxClassProcessCount 100 IPCConnectTimeout 3 IPCCommTimeout 600 BusyTimeout 3600 </IfModule> <Directory /var/www/clients/client13/web36/web> <FilesMatch "\.php[345]?$"> SetHandler fcgid-script </FilesMatch> FCGIWrapper /var/www/php-fcgi-scripts/web36/.php-fcgi-starter .php FCGIWrapper /var/www/php-fcgi-scripts/web36/.php-fcgi-starter .php3 FCGIWrapper /var/www/php-fcgi-scripts/web36/.php-fcgi-starter .php4 FCGIWrapper /var/www/php-fcgi-scripts/web36/.php-fcgi-starter .php5 Options +ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> [...] But if I set PHP-FPM I have: Server API: Apache 2.0 Handler and vhost contains: [...] <IfModule mod_fastcgi.c> <Directory /var/www/clients/client13/web36/cgi-bin> Order allow,deny Allow from all </Directory> <Directory /var/www/clients/client13/web36/web> <FilesMatch "\.php[345]?$"> SetHandler php5-fcgi </FilesMatch> </Directory> Action php5-fcgi /php5-fcgi Alias /php5-fcgi /var/www/clients/client13/web36/cgi-bin/php5-fcgi-*-80-sites.unimi.it FastCgiExternalServer /var/www/clients/client13/web36/cgi-bin/php5-fcgi-*-80-sites.unimi.it -idle-timeout 300 -host 127.0.0.1:9045 -pass-header Authorization </IfModule> <IfModule mod_proxy_fcgi.c> ProxyPassMatch ^/(.*\.php[345]?(/.*)?)$ fcgi://127.0.0.1:9045/var/www/clients/client13/web36/web/$1 </IfModule> [...] :'( A.
It is absolutely correct, ISPConfig refers mod_fcgid as FastCGI and uses the "real" FastCGI module for php-fpm. You might want to Code: yum install mod_fastcgi php-fpm And disable Loadmodule of mod_proxy_fcgi if you don't need it - else you have to patch the ISPConfig template because in its current implementation I'd consider it buggy. It's beeing said that mod_proxy_fcgi doesn't work well with sockets on centos but besides that - and more important part - it overrides the php configuration for fastcgi and does not pass additional authentication headers to php. If these packages are not available ( mod_fastcgi at least ) you might need to enable rpmforge sources for that. https://www.howtoforge.com/using-php5-fpm-with-apache2-on-centos-6.2
1) I already have installed mod_fastcgi and php-fpm (processes are triggered). 2) no Loadmodule of mod_proxy_fcgi found in httpd.conf 3) how can I patch the ISPConfig template? thanx thanx thanx A.