pg_connect вылетает мой скрипт php - PullRequest
2 голосов
/ 14 июля 2009

Я пытаюсь запустить скрипт PHP, который имеет pg_connect ($ connection_string), и он просто сбивает мой скрипт PHP. Я запускаю его из xampp на моем компьютере, вот несколько фактов:

  • Если я поставил выход («тест»); сразу над оператором pg_connect он успешно отображает слово «test» и завершает работу сценария, поэтому я знаю, что моя установка xampp работает.
  • Используя phpinfo (), я вижу, что расширение postgresql действительно загружено.
  • Я могу подключиться к серверу базы данных из pgadmin, так что это не проблема брандмауэра или что-то в этом роде.
  • Если я удаляю этот оператор выхода, оператор pg_connect просто зависает. Предупреждение не отображается и не регистрируется, и оно даже не проходит вызов функции. У меня даже есть:

    $ db_crm = pg_connect ($ connection_str);

    if (! $ Db_crm) die («соединение не удалось»);

И «соединение не установлено» никогда даже не отображается. Мой браузер просто показывает «эта страница не может быть отображена» после истечения времени ожидания.

Что в мире может быть причиной этого?

Ответы [ 6 ]

1 голос
/ 14 июля 2009

Сомнительно, что вызов сбой PHP. Скорее всего, по какой-то причине вызов зависает по какой-то причине, и максимальное время выполнения PHP превышено. Вы можете попробовать продлить ограничение по времени , прежде чем делать вызов pg_connect (), чтобы посмотреть, получится ли что-нибудь в итоге.

0 голосов
/ 28 января 2015

Для меня журналы Apache показали, что PHP не находил функцию pg_connect (), даже если был установлен php-postgresql. Перезапуск Apache исправил это, т.е.

sudo service httpd restart
0 голосов
/ 08 октября 2009

sslmode = disable сделал свое дело для меня. Чтобы отключить ssl в postgres-config (ssl = false) также работал.

0 голосов
/ 15 июля 2009

Звучит очень глупо, но работает ли ваш сервер по протоколу SSL? У меня были проблемы, когда сервер будет пытаться аутентифицироваться в ssl и зависать бесконечно, пытаясь подключиться к несуществующему порту.

0 голосов
/ 14 июля 2009

Вот оно, ребята: У меня нет причин, почему, но добавление sslmode = disable в конец моей строки подключения заставило его работать. По какой причине он должен был потерпеть крах? Я на машине с Windows и phpinfo () говорит, что OpenSSL включен ..

0 голосов
/ 14 июля 2009
  • Проверьте журналы ошибок Apache
  • Проверьте журналы ошибок php
  • Убедитесь, что в вашем файле конфигурации Postgres включено ведение журнала .
  • В вашей конфигурации установите

    log_min_error_statement (DEBUG5) 
    

    чтобы захватить все возможное.

  • Проверьте журналы ошибок postgres
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...