PHP5-FPM и MYSQL - PullRequest
       7

PHP5-FPM и MYSQL

0 голосов
/ 02 мая 2011

Я использую lighttpd и pfp-fpm.Все работают правильно, но если я вызываю mysql_connect () в моих php-скриптах, я получаю пустую страницу.Как «запрещенная операция».

Это мой пул 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:

$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 ]

1 голос
/ 02 мая 2011

Включение отображения ошибок и публикация этих ошибок было бы полезно, но, поскольку вы можете использовать mysql без рутирования php, я предполагаю, что вы получаете некоторую ошибку соединения, так как php пытается подключиться к mysql на localhost с помощью сокета (php скомпилирован с --with-mysql-sock=/var/mysql.sock), и, скорее всего, этот сокет находится за пределами вашего chrooted окружения.

Вы можете попробовать:

  • Перекомпиляция php, чтобы не использовать сокет
  • создание жесткой ссылки на сокет в вашем пути к каталогу
  • с использованием некоторого внутреннего ip (например, 10.0.0.1,192.168.0.1) вместо loopback
0 голосов
/ 05 августа 2011

Мне кажется, что все проблемы из-за того, что пользователь и группа были example.com. Я думаю, что у пользователя нет прав на выполнение запрошенных задач

...