Автор Тема: Apache, PHP, MySQL (Mariadb) - установка и настройка [Решено]  (Прочитано 5922 раз)

Оффлайн userm

  • Давно тут
  • **
  • Сообщений: 68
Немного смущает
MariaDB [(none)]> create database usermtestdbcon;
Query OK, 1 row affected (0.00 sec)
1 row affected (0.00 sec)
MariaDB [(none)]> drop database usermtestdbcon;
Query OK, 0 rows affected (0.03 sec)
0 rows affected

В английском не силен, но affected вроде бы - "пострадавший".

Цитировать
Делайте обработку ошибок подключения к базе данных и выполнения запросов.
PHP либо ничего не делает (относительно СУБД), либо делает чистый лист (страница полностью пустая) - никаких ошибок не выдает (не могу понять, какие ошибки обрабатывать, да и как их обрабатывать).

Цитировать
PHP требует заведения пользователя.
И root тоже? Как мне это сделать?
« Последнее редактирование: 03.09.2016 19:45:01 от userm »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 923
    • Домашняя страница
    • Email
По соображениям безопасности ошибки PHP сыпятся не на страницу, а в лог: /var/log/httpd2/error_log.
Андрей Черепанов (cas@)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 923
    • Домашняя страница
    • Email
Почитайте документацию по MySQL.
Андрей Черепанов (cas@)

Оффлайн userm

  • Давно тут
  • **
  • Сообщений: 68
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
Так...? Мне достаточно одного root, без newuser.

Цитировать
По соображениям безопасности ошибки PHP сыпятся не на страницу, а в лог: /var/log/httpd2/error_log
Спасибо!

[Sat Sep 03 19:26:07 2016] [error] [client 127.0.0.1] PHP Fatal error:  Call to undefined function mysql_connect() in /home/userm/WWW/index.php on line 9Функция mysql_connect() не определена - что с этим делать?

Хотя бы стало понятней, почему появляется пустой экран. Видимо если if [неопределенная_переменная], то PHP сходит с ума и выдает пустой экран.
« Последнее редактирование: 03.09.2016 20:14:33 от userm »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 923
    • Домашняя страница
    • Email
php5-mysql. Но безопаснее mysqli.
Андрей Черепанов (cas@)

Оффлайн userm

  • Давно тут
  • **
  • Сообщений: 68
Нашел в Synaptic php5-mysqli - уже было установлено.

Либо какой то пакет не установлен, либо в каком то файле что то не прописано ...так я думаю.

Кстати, пакет php5-mysql не установлен. А у него в описании "MySQL database module for PHP5" - важная вещь.
« Последнее редактирование: 03.09.2016 20:55:51 от userm »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 923
    • Домашняя страница
    • Email
Аы используете функции из php5-mysql. В php5-mysqli другие имена функций.
Я рекомендую почитать книгу по разработке в PHP – там это всё разъяснено.
Андрей Черепанов (cas@)

Оффлайн userm

  • Давно тут
  • **
  • Сообщений: 68
Спасибо!
Наверно, последний вопрос - нельзя ли установить php5-mysql и php5-mysqli одновременно?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 923
    • Домашняя страница
    • Email
Можно. ;)
Андрей Черепанов (cas@)

Оффлайн userm

  • Давно тут
  • **
  • Сообщений: 68
Заработало!
:)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 923
    • Домашняя страница
    • Email
Вот и славно! См. http://altlinux.org/LAMP

:)
Андрей Черепанов (cas@)

Оффлайн userm

  • Давно тут
  • **
  • Сообщений: 68
Подведем итог:
1. Устанавливаем пакет apache2
   редактируем файлы:
   /etc/httpd2/conf/sites-available/default.conf
   /etc/httpd2/conf/include/Directory_html_default.conf
   https://forum.altlinux.org/index.php/topic,29114.msg203898.html
2. Устанавливаем пакеты php5 и apache2-mod_php5
3. Mariadb уже установлена.
   Добавить пакет php5-mysql и можно еще php5-mysqli (улучшенный вариант php5-mysql, но у них разные имена функций)

P.S. Все само автоматически запускается, кроме MariaDB
[root@alt ~]# service mysqld start
Автоматический запуск
chkconfig mysqld on
Перезагрузить Apache
service httpd2 restart
Отображение ошибок в браузере
в файле etc/php/5.5/apache2-mod_php/php.ini  находим закомментированную строку ; display_errors. Меняем ее (или пишем ниже) display_errors = On
Ниже находим
; error_reporting
;   Default Value: E_ALL & ~E_NOTICE
;   Development Value: E_ALL | E_STRICT
;   Production Value: E_ALL & ~E_DEPRECATED
Здесь делаем тоже самое (надо лишь выбрать один из вариантов) - меняем строку ; error_reporting или записываем ниже.
Например error_reporting = E_ALL & ~E_DEPRECATED

Так мы задали отображение ошибок и отображение каких ошибок. Не лишним будет просмотреть все что находится ниже, т.к. ниже может встретиться display_errors = Off и ошибки отображаться не будут. Просто закомментировать лишнее.

https://forum.altlinux.org/index.php?topic=37336.0

Русские буквы (utf8) в MySQL [MariaDB]
https://forum.altlinux.org/index.php?topic=37386.msg295819#msg295819
« Последнее редактирование: 30.09.2016 15:16:35 от userm »