开发者

PHP5-FPM and MYSQL

I'm using lighttpd and pfp-fpm. All work correctly, but if I call a mysql_connect() on my php scripts I get an empty page. Like a "denied operation".

This is my php-fpm.conf pool

[example.com]
        listen             = 127.0.0.1:9001
        listen.backlog         = -1

        user  = example.com
        group = example.com

        pm                   = dynamic
        pm.max_requests      = 0
        pm.max_children      = 2
        pm.st开发者_运维技巧art_servers     = 1
        pm.min_spare_servers = 1
        pm.max_spare_servers = 1

        chroot = /home/vhosts/example.com/

        request_terminate_timeout = 2
        request_slowlog_timeout   = 1
        slowlog                   = /home/vhosts/example.com/log/php-slow.log

        catch_workers_output = yes

        env[HOSTNAME] = $HOSTNAME
        env[PATH] = /usr/local/bin:/usr/bin:/bin
        env[TMP] = /tmp
        env[TMPDIR] = /tmp
        env[TEMP] = /tmp

This is my lighttpd vhost:

$HTTP["host"] =~ "(^|.)example\.com$" {

        server.document-root = "/home/vhosts/example.com/web"
        server.errorlog      = "/home/vhosts/example.com/log/error.log"
        accesslog.filename   = "/home/vhosts/example.com/log/access.log"


        fastcgi.server = (
                        ".php" => (
                                "localhost" => (
                                        "docroot" => "/web",
                                        "host"    => "127.0.0.1",
                                        "port"    => "9001"
                                )
                        )
        )

}

What is wrong? If I don't use mysql I can see the result of the php script correctly.


Turning on error display and posting those errors would be helpful, but since you can use mysql without chrooting php, I guess you are getting some connection error, since php tries to connect to mysql on localhost using socket ( php compiled with --with-mysql-sock=/var/mysql.sock), and most likely this socket is outside your chrooted environment.

You can try:

  • Recompiling php to not use socket
  • creating hard link to socket in your chrooted path
  • using some internal ip (like 10.0.0.1,192.168.0.1) instead of loopback


Seems to me all the problems are because of the user and group being example.com i guess that user doesnt have rights to perform the requested tasks

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜