Связка PHP + MySQL не работает

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Гость
проходил мимо

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение Гость » 2009-01-17 14:14:47

unavailable писал(а):помогите пожалуйста!я только начал изучать php. Такая вот задача: установил Apache 2.0 потом Php5 все по учебнику настроил, когда вызываю в explorer <?phpinfo();?> начинает скачивать фаил из папки, где я его создал. А если через mozila , тогда появляется в окне <?phpinfo();?> и больше ничего. И другие скипты в таком же духе. Подскажите пожалуйста что я сделал не так, или не доделал. Спасибо
Похоже не доделал :smile:
Вот это прописал в httpd.conf ?

Код: Выделить всё

LoadModule php5_module libexec/apache22/libphp5.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

DirectoryIndex index.php
?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Pez!
старшина
Сообщения: 436
Зарегистрирован: 2008-01-13 20:02:24
Откуда: москва матушка

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение Pez! » 2009-01-21 0:53:20

да, ток вот эта строка у Вас будет другой

Код: Выделить всё

LoadModule php5_module libexec/apache22/libphp5.so
у вас же апач первый, а не 2.2
Всёравно все умрут, какая разница....и только серваки с фряхой будут работать ещё некоторое время после.

Аватара пользователя
Volodymyr
лейтенант
Сообщения: 614
Зарегистрирован: 2008-06-17 16:04:56
Откуда: Ukraine, Lviv
Контактная информация:

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение Volodymyr » 2009-01-24 13:25:03

А какой выиграш в первом апаче при последне рнр и мускуле?

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение zg » 2009-01-25 10:43:12

Volodymyr писал(а):А какой выиграш в первом апаче при последне рнр и мускуле?
никакого

Niki
проходил мимо

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение Niki » 2009-03-16 23:52:18

Проверь

Код: Выделить всё

DirectoryIndex index.html index.php
и

Код: Выделить всё

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение Dmitriy_K » 2009-04-11 21:20:56

Объясните, пожалуйста, несколько моментов начинающему.
Допустим, имеется база MySQL с несколькими сайтами внутри и работающие PHP и Apache.
Проверена работа всего по отдельности и доступ PHP к MySQL (через скрипт index.php в дефолтной папке Apache). Последнее тоже работает, но не могу понять:

1) Как, собственно, сделать, чтобы эти несколько сайтов были доступны по заголовкам запросов браузеров? Должен происходить автоматический запрос через index.php нужных сайтов из базы на основе заголовков запросов или это нужно разруливать через конфигурации виртуальных серверов Apache? Или всё вообще должно реализовывать автоматически без "index.php". К большому сожалению, я совсем не смог найти эту информацию в имеющихся книгах или инете.

2) Можно ли и как через index.php сделать подключение какого-нибудь одного сайта из базы MySQL?

3) Как правильно подключаться через index.php к MySQL?
Имеются два варианта скриптов "index.php" (как я понял):
а) через локальную авторизацию на хосте:

Код: Выделить всё

<?php   
  $dblocation = "localhost";   
  $dbname = "*****";   
  $dbuser = "*****";   
  $dbpasswd="*****"; 

  $dbcnx = mysql_connect($dblocation, $dbuser, $dbpasswd);   
  if (!$dbcnx)   
  {   
    echo "<p>К сожалению, не доступен сервер MySQL</p>";   
    exit();   
  }   
  if (!mysql_select_db($dbname,$dbcnx) )   
  {   
    echo "<p>К сожалению, не доступна база данных</p>";   
    exit();   
  }   
  $ver = mysql_query("SELECT VERSION()");   
  if(!$ver)   
  {   
    echo "<p>Ошибка в запросе MySQL</p>";   
    exit();   
  }   
  echo mysql_result($ver, 0);   
?>
б) через серверную авторизацию (?):

Код: Выделить всё

<?php
$server="*****";
//Имеется ввиду возможность связи с внешней по отношению к localhost базе MySQL на другом сервере?
//Почему здесь не проходит локальный IP 127.0.0.1, если он есть в my.cnf "[mysqld] bind-address = 127.0.0.1"?

$user = "*****";
$pass = "*****";

//Далее один трёх вариантов, просьба подсказать разницу.
$dbases="*****";
//$base = "*****";
//$db = "*****";

$connect = mysql_connect($server,$user,$pass)
  if (!$connect)   
  {   
    echo "<p>К сожалению, не доступен сервер MySQL</p>";   
    exit();   
  }   
  if (!mysql_select_db($dbases,$connect))   
  {   
    echo "<p>К сожалению, не доступна база данных</p>";   
    exit();   
  }   
  $ver = mysql_query("SELECT VERSION()");   
  if(!$ver)   
  {   
    echo "<p>Ошибка в запросе MySQL</p>";   
    exit();   
  }   
  echo mysql_result($ver, 0);   
?>
4. Даёт ли что-то полезное, кроме проверки подключения к MySQL, следующий скрипт?

Код: Выделить всё

<?php   
  $dblocation = "*****";   
  $dbname = "*****";   
  $dbuser = "*****";   
  $dbpasswd="*****";   

$dbcnx=mysql_connect($dblocation, $dbuser, $dbpasswd);
mysql_select_db($db);
?>
У меня он просто выводит чистую страницу.


Был бы весьма признателен за разъяснения. :pardon:
Последний раз редактировалось Dmitriy_K 2009-04-12 22:19:05, всего редактировалось 1 раз.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение zg » 2009-04-12 7:33:16

Dmitriy_K писал(а):У меня он просто выводит чистую страницу.
дак он кроме ошибок ничего и не выведет. А раз и ошибок не выводит, значит всё ок.

Добавь хоть что ли после коннекта

Код: Выделить всё

var_dump($dbcnx);

Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение Dmitriy_K » 2009-04-12 22:15:15

zg писал(а):Добавь хоть что ли после коннекта

Код: Выделить всё

var_dump($dbcnx);
Добавил, получил:

Код: Выделить всё

resource(2) of type (mysql link)
Всё работает, только не могу понять, как производится связка запросов.

Повторю в других словах. Мне хотелось узнать: после того как Apache получает имя сайта в заголовке запроса он автоматически адресует запрос на индексную страницу в базе данных через PHP или он ищет в директории сайта скрипт "index.php" и запрос к базе данных по поводу контента идёт через этот скрипт. Этот index.php должен лежать в базе или в директории сервера?

Допустим, я пропишу виртуальные сервера в конфиге Apache. Мне нужно ещё для каждого сервера делать корневую директорию с "index.php" (для перенаправления запросов в MySQL) или нет?

Сейчас у меня нет возможности проверить это практически, поскольку IP сервера (он чисто экспериментальный) и привязка к нему имён сайтов из имеющейся базы MySQL не заявлены в глобальном DNS. :(
Был бы очень благодарен за способ как-то обойти это, например ручной пропиской требуемого имени сайта в заголовке запроса браузера (или пусть это будет скрипт). Есть ли такая возможность?

Кстати, какие минимальные права должны быть у пользователя "mysql", чтобы клиенты могли работать со своими личными данными через сайты?

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение zg » 2009-04-12 22:49:20

Dmitriy_K писал(а):Допустим, я пропишу виртуальные сервера в конфиге Apache. Мне нужно ещё для каждого сервера делать корневую директорию с "index.php" (для перенаправления запросов в MySQL) или нет?
Порядок действий такой:
1. апач получает входящий запрос
2. апач на основе заголовка и конфига ищет виртхост
3. если хсот найден, апач передаёт управление виртхосту
4. если в виртхосте лежит скрипт, то апач запускает скрипт
5. скрипт коннектится к базе, выбирает данные, формирует хтмлу
6. вывод скрипта апач отдаёт клиенту

Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение Dmitriy_K » 2009-04-13 18:02:33

Большое спасибо, теперь в голове всё уложилось! :smile:

Остались несколько вопросов по скриптам доступа к базе (3-й пункт моего первого постинга) и вопрос по безопасному, но достаточному набору прав пользователя "mysql".

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение zg » 2009-04-13 18:20:53

Dmitriy_K писал(а):3) Как правильно подключаться через index.php к MySQL?

Код: Выделить всё

mysql_connect(host, user, pasword); ...
Dmitriy_K писал(а):и вопрос по безопасному, но достаточному набору прав пользователя "mysql".
смотря что требуется, в принципе самый правильный вариант давать полные права на определённую базу. Тонкая настройка прав приводит к снижению производительности. Но опять же повторюсь, для каждой ситуации свои права.

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение zingel » 2009-04-14 8:49:55

А какой выиграш в первом апаче при последне рнр и мускуле?
Первый (1.3.х) апачь быстрее но Вам это не нужно, у Вас не тот случай.
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
SteelS
сержант
Сообщения: 169
Зарегистрирован: 2008-07-21 10:12:58
Откуда: Chicago, USA

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение SteelS » 2009-07-17 21:30:43

ошибка

Код: Выделить всё

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613-debug/mysqli.so' - /usr/local/lib/php/20060613-debug/mysqli.so: Undefined symbol "spl_ce_RuntimeException" in Unknown on line 0
и всё началось с того что снес mysql60-server и влепил mysql50-server

PS: до portupgrade -f database/mysql50-server/client не находило

Код: Выделить всё

/usr/local/lib/php/20060613-debug/mysqli.so
/usr/local/lib/php/20060613-debug/mysql.so
Linux - на десктоп
FreeBSD - на сервер
Вывод: NIX - В массы.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение zg » 2009-07-18 5:01:25

SteelS писал(а):ошибка
надо модуль мускуля для пхп пересобрать.

Аватара пользователя
SteelS
сержант
Сообщения: 169
Зарегистрирован: 2008-07-21 10:12:58
Откуда: Chicago, USA

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение SteelS » 2009-07-18 14:28:53

намусорил на серваке, переустановил фрю..... и провтыкал - не создал учетку для себя (точнее не ввел в wheel).... локально к нему достучатся можно только со след недели.

Код: Выделить всё

login as: joker
Using keyboard-interactive authentication.
Password:
Last login: Sat Jul 18 15:08:52 2009 from 192.168.0.193
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
        The Regents of the University of California.  All rights reserved.

FreeBSD 7.2-RELEASE-p2 (GENERIC) #0: Wed Jun 24 00:57:44 UTC 2009

Welcome to FreeBSD!

Before seeking technical support, please use the following resources:

o  Security advisories and updated errata information for all releases are
   at http://www.FreeBSD.org/releases/ - always consult the ERRATA section
   for your release first as it's updated frequently.

o  The Handbook and FAQ documents are at http://www.FreeBSD.org/ and,
   along with the mailing lists, can be searched by going to
   http://www.FreeBSD.org/search/.  If the doc distribution has
   been installed, they're also available formatted in /usr/share/doc.

If you still have a question or problem, please take the output of
`uname -a', along with any relevant error messages, and email it
as a question to the questions@FreeBSD.org mailing list.  If you are
unfamiliar with FreeBSD's directory layout, please refer to the hier(7)
manual page.  If you are not familiar with manual pages, type `man man'.

You may also use sysinstall(8) to re-enter the installation and
configuration utility.  Edit /etc/motd to change this login announcement.

$ su
su: Sorry
$ cat /etc/passwd
# $FreeBSD: src/etc/master.passwd,v 1.40.20.1 2009/04/15 03:14:26 kensmith Exp $
#
root:*:0:0:Charlie &:/root:/bin/csh
toor:*:0:0:Bourne-again Superuser:/root:
daemon:*:1:1:Owner of many system processes:/root:/usr/sbin/nologin
operator:*:2:5:System &:/:/usr/sbin/nologin
bin:*:3:7:Binaries Commands and Source:/:/usr/sbin/nologin
tty:*:4:65533:Tty Sandbox:/:/usr/sbin/nologin
kmem:*:5:65533:KMem Sandbox:/:/usr/sbin/nologin
games:*:7:13:Games pseudo-user:/usr/games:/usr/sbin/nologin
news:*:8:8:News Subsystem:/:/usr/sbin/nologin
man:*:9:9:Mister Man Pages:/usr/share/man:/usr/sbin/nologin
sshd:*:22:22:Secure Shell Daemon:/var/empty:/usr/sbin/nologin
smmsp:*:25:25:Sendmail Submission User:/var/spool/clientmqueue:/usr/sbin/nologin
mailnull:*:26:26:Sendmail Default User:/var/spool/mqueue:/usr/sbin/nologin
bind:*:53:53:Bind Sandbox:/:/usr/sbin/nologin
proxy:*:62:62:Packet Filter pseudo-user:/nonexistent:/usr/sbin/nologin
_pflogd:*:64:64:pflogd privsep user:/var/empty:/usr/sbin/nologin
_dhcp:*:65:65:dhcp programs:/var/empty:/usr/sbin/nologin
uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/local/libexec/uucp/uucico
pop:*:68:6:Post Office Owner:/nonexistent:/usr/sbin/nologin
www:*:80:80:World Wide Web Owner:/nonexistent:/usr/sbin/nologin
nobody:*:65534:65534:Unprivileged user:/nonexistent:/usr/sbin/nologin
joker:*:1001:1001:User &:/home/joker:/bin/sh
$
есть ли уязвимость во фряхе, которую можно заюзать и вернуть себе рута. от обоих пассы я знаю
Linux - на десктоп
FreeBSD - на сервер
Вывод: NIX - В массы.

ViktorichZ
сержант
Сообщения: 152
Зарегистрирован: 2008-10-30 12:15:26

Re: Связка PHP + MySQL не работает

Непрочитанное сообщение ViktorichZ » 2009-07-18 22:35:18

по ssh root не пускают? если нет, то никак