PHP5-FPM和MYSQL

时间:2011-05-02 11:21:14

标签: mysql lighttpd php

我正在使用lighttpd和pfp-fpm。 一切正常,但如果我在我的php脚本上调用mysql_connect(),我会得到一个空页面。 就像“被拒绝的行动”一样。

这是我的php-fpm.conf池

[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.start_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

这是我的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"
                                )
                        )
        )

}

有什么问题?如果我不使用mysql,我可以正确看到php脚本的结果。

2 个答案:

答案 0 :(得分:1)

打开错误显示并发布这些错误会有所帮助,但是因为你可以在没有chrooting php的情况下使用mysql,我猜你得到一些连接错误,因为php尝试使用socket连接到localhost上的mysql(php编译为{ {1}}),而且很可能这个套接字在你的chrooted环境之外。

您可以尝试:

  • 重新编译php以不使用套接字
  • 在chrooted路径中创建指向套接字的硬链接
  • 使用一些内部ip(如10.0.0.1,192.168.0.1)而不是loopback

答案 1 :(得分:0)

在我看来,所有问题都是因为用户和组是example.com 我猜这个用户没有权利执行所请求的任务