Назад | Перейти на главную страницу

Следует ли устанавливать PHP на веб-сервер Apache или сервер базы данных MySQL?

Настроить:

Две отдельные коробки:

  1. Модули Fedora 15, Apache, PHP и PHP
  2. Fedora 15, MySQL

Я не могу подключиться к MySQL с веб-сервера Apache.

<?php

  echo "<br>begin test<br>";

  mysql_connect('hostname[FQDN]','username','password') or ("Error" . mysql_error());

  echo "<br>end test<br>";

?>

отображается текст «начало теста», но отсутствует ошибка MySQL или текст «конец теста», когда Apache обслуживает страницу.

Я могу подключиться к базе данных MySQL с помощью рабочей среды MySQL на порту 3306 с удаленного компьютера. Привилегии и доступ к пользователю и IP-адресу оставлены полностью открытыми (%), чтобы избежать каких-либо проблем в этих отношениях.

Не забывай это, mysql_connect, mysql_errorи т. д. не являются частью PHP. Они являются продолжением.

Если вы хотите проверить, есть ли у php эти функции, вы можете провести небольшой тест, например:

if(!function_exists('mysql_connect'))
    echo 'MySQL extension not installed';

У вас должно быть mysql и mysql-server установлен на вашем MySQL Box

У вас должно быть php и php-mysql установлен на вашем сервере Apache. Если вы не установили php-mysql установите это: yum -y install php-mysql а затем перезапустите Apache.

Проблема решена. Изменение, которое я сделал, касалось SElinux и запуска setsebool -P httpd_can_network_connect=1 или бег setenforce=0 который является разрешительным режимом

Бегать

$ netstat -l

Вы должны увидеть, что сервер mysql прослушивает порт 3306. Если это 127.0.0.1, сервер прослушивает только интерфейс обратной связи. Исправьте свой my.cnf в таком случае.