Forum

php5 runs but php extensions doesnt run

mahmutov
27 March 2017, 14:05
hiawatha.conf
ConnectionsTotal = 1000
ConnectionsPerIP = 25
SystemLogfile = /var/log/hiawatha/system.log
GarbageLogfile = /var/log/hiawatha/garbage.log


# BINDING SETTINGS
# A binding is where a client can connect to.
#
Binding {
Port = 80
}

ExecuteCGI = yes
CGIhandler = /usr/bin/php-cgi:php
#CGIhandler = /usr/bin/python:py
#CGIhandler = /usr/bin/ruby:rb
#CGIhandler = /usr/bin/ssi-cgi:shtml
CGIextension = cgi
#TriggerOnCGIstatus = no
#
#ConnectTo = /var/lib/hiawatha/php-fcgi.sock
FastCGIserver {
FastCGIid = PHP5
ConnectTo = /var/lib/hiawatha/php-fcgi.sock
Extension = php
SessionTimeout = 30
}

Hostname = 127.0.0.1
WebsiteRoot = /srv/http/hiawatha
StartFile = index.html
AccessLogfile = /var/log/hiawatha/access.log
ErrorLogfile = /var/log/hiawatha/error.log
UseFastCGI = PHP5


php-fpm.conf
[www]
user = www-data
group = www-data
listen = /var/lib/hiawatha/php-fcgi.sock
pm = static
pm.max_children = 3
chdir = /


127.0.0.1/index.php5 shows phpinfo content but 127.0.0.1/index.php doesnt show,it error 503 Service Unavailable
mahmutov
27 March 2017, 15:53
i did some tests,i closed fastcgi usage in hiawatha.conf then hiawatha still open php5 extensions.i think hiawatha cant connect php-fpm.cuz i noticed :

Mon 27 Mar 2017 16:51:53 +0300|can't connect to FastCGI server PHP5
Mon 27 Mar 2017 16:51:55 +0300|can't connect to FastCGI server PHP5
Mon 27 Mar 2017 16:52:53 +0300|FastCGI server PHP5 is still (partially) unavailable
Mon 27 Mar 2017 16:53:59 +0300|FastCGI server PHP5 is still (partially) unavailable

in system.log
mahmutov
27 March 2017, 15:55
but my php-fpm is running :

# ps -aux | grep php-fpm:
www-data 19268 0.0 0.0 62368 5076 ? S 16:31 0:00 php-fpm: pool www
www-data 19269 0.0 0.0 62368 5076 ? S 16:31 0:00 php-fpm: pool www
www-data 19270 0.0 0.0 62368 5076 ? S 16:31 0:00 php-fpm: pool www
mahmutov
27 March 2017, 18:24
finally i run php extensions with this config:
# Hiawatha main configuration file
#

# VARIABLES
# With 'set', you can declare a variable. Make sure the name of the
# variable doesn't conflict with any of the configuration options.
# The variables are case-sensitive and cannot be redeclared.
#
#set LOCALHOST = 127.0.0.0/8


# GENERAL SETTINGS
#

ConnectionsTotal = 1000
ConnectionsPerIP = 25
SystemLogfile = /var/log/hiawatha/system.log
GarbageLogfile = /var/log/hiawatha/garbage.log


# BINDING SETTINGS
# A binding is where a client can connect to.
#
Binding {
Port = 80
}
#
#Binding {
# Port = 443
# TLScertFile = ssl/hiawatha.pem
# Interface = 127.0.0.1
# MaxRequestSize = 2048
# TimeForRequest = 30
#}


# BANNING SETTINGS
# Deny service to clients who misbehave.
#
#BanOnGarbage = 300
#BanOnMaxPerIP = 60
#BanOnMaxReqSize = 300
#KickOnBan = yes
#RebanDuringBan = yes

ExecuteCGI = yes

# COMMON GATEWAY INTERFACE (CGI) SETTINGS
# These settings can be used to run CGI applications.
#
#CGIhandler = /usr/bin/perl:pl
#CGIhandler = /usr/bin/php-cgi:php
#CGIhandler = /usr/bin/python:py
#CGIhandler = /usr/bin/ruby:rb
#CGIhandler = /usr/bin/ssi-cgi:shtml
#CGIextension = cgi
#TriggerOnCGIstatus = no
#
#ConnectTo = /var/lib/hiawatha/php-fcgi.sock
FastCGIserver {
FastCGIid = PHP5
ConnectTo = 127.0.0.1:9099
Extension = php
SessionTimeout = 30
}


# URL TOOLKIT
# This URL toolkit rule was made for the Banshee PHP framework,
# which can be downloaded from http:/www.banshee-php.org/
#
#UrlToolkit {
# ToolkitID = banshee
# RequestURI isfile Return
# Match ^/(css|files|fonts|images|js)($|/) Return
# Match ^/(favicon.ico|robots.txt)$ Return
# Match [^?]*(\?.*)? Rewrite /index.php$1
#}


# DIRECTORY SETTINGS
# You can specify some settings per directory.
#
#Directory {
# DirectoryID = static
# Path = /css, /fonts, /images, /js
# ExpirePeriod = 2 weeks
#}
#
#Directory {
# DirectoryID = files
# Path = /files
# ShowIndex = yes
# StartFile = index.html
# ExecuteCGI = no
#}


# DEFAULT WEBSITE
# It is wise to use your IP address as the hostname of the default website
# and give it a blank webpage. By doing so, automated webscanners won't find
# your possible vulnerable website.
#
Hostname = 127.0.0.1
WebsiteRoot = /srv/http/hiawatha
StartFile = index.html
AccessLogfile = /var/log/hiawatha/access.log
ErrorLogfile = /var/log/hiawatha/error.log
UseFastCGI = PHP5

# VIRTUAL HOSTS
# Use a VirtualHost section for each website you want to host.
#
#VirtualHost {
# Hostname = www.my-domain.com
# WebsiteRoot = /srv/http/my-domain/public
# AccessLogfile = /srv/http/my-domain/log/access.log
# ErrorLogfile = /srv/http/my-domain/log/error.log
# TimeForCGI = 5
# UseFastCGI = PHP5
# UseToolkit = banshee
# UseDirectory = static, files
#}


php-fpm.conf
[www]
user = www-data
group = www-data
#listen = /var/run/php-fcgi.sock
listen = 127.0.0.1:9099
pm = static
pm.max_children = 3
chdir = /
Joe Schmoe
27 March 2017, 18:34
Does the socket file (/var/lib/hiawatha/php-fcgi.sock) exist?

From the standard php-fpm.conf file:

; All relative paths in this configuration file are relative to PHP's install
; prefix (/usr). This prefix can be dynamically changed by using the
; '-p' argument from the command line.


When you specify a chdir path, it is usually prepended by the above prefix.

Try commenting the following line in your php-fpm.conf file:

; chdir = /

mahmutov
27 March 2017, 21:10
joe i tried with your suggested way but no success.sock is created by php-fpm but hiawatha cant connect the socket file.so ireturned the port config (127.0.0.1:9099)
Hugo Leisink
27 March 2017, 21:57
Check the access rights of php-fcgi.sock and all the directories it is located in. Is Hiawatha able to read the file and access the directories?
mahmutov
27 March 2017, 22:48
I placed php-fcgi.sock under /tmp.still no success. I am using my system with root. I run hiawatha as root. Is this a problem?
Hugo Leisink
30 March 2017, 08:45
Hiawatha switches to the user id set via ServerID upon start. Starting it as root is needed to make Hiawatha switch to that user id.
John
3 April 2017, 15:50
All looks fine, as Hugo saied, directory acces needs to be right,
also ensure the port you are using is not blocked by your fire wall,
such as in iptables or firewalld
This topic has been closed.