LinuxForum.Fans
Тема

PHP + MySQL не работает

Автор: Slox 9 сообщений 2103 просмотров
#236412

Понимаю что возможно тема избитая но поиск не дал результатов.
Установил yf Mandriva 2011.0
apache-mod_php Версия: 5.3.9-0.1-mdv2011.0 -здесь всё работает замечательно.
mysql 5.5.21 сама СУБД работает.
и модуль php-mysql Версия: 5.3.9-0.1-mdv2011.0

/etc/php.d/36_mysql.ini
/usr/lib/php/extensions/mysql.so

проверочный скрипт:

text
<?php
    $var ="php its work too!";
    echo "Hello, $var!";

// Попытка установить соединение с MySQL: $server='localhost'; $user='web_user'; $password='httpuser'; $db="mysql"; if (!mysql_connect($server, $user, $password)) { echo "Ошибка подключения к серверу MySQL"; exit; } else{ echo "Hello, $databasemysql!" mysql_select_db($db); } ?>

фрагмент php.ini

Показать

[MySQL]
; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
; http://php.net/mysql.allow_local_infile
mysql.allow_local_infile = On

; Allow or prevent persistent links.
; http://php.net/mysql.allow-persistent
mysql.allow_persistent = On

; If mysqlnd is used: Number of cache slots for the internal result set cache
; http://php.net/mysql.cache_size
mysql.cache_size = 2000

; Maximum number of persistent links. -1 means no limit.
; http://php.net/mysql.max-persistent
mysql.max_persistent = -1

; Maximum number of links (persistent + non-persistent). -1 means no limit.
; http://php.net/mysql.max-links
mysql.max_links = -1

; Default port number for mysql_connect(). If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
; at MYSQL_PORT.
; http://php.net/mysql.default-port
mysql.default_port =

; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysql.default-socket
mysql.default_socket =

; Default host for mysql_connect() (doesn't apply in safe mode).
; http://php.net/mysql.default-host
mysql.default_host =

; Default user for mysql_connect() (doesn't apply in safe mode).
; http://php.net/mysql.default-user
mysql.default_user =

; Default password for mysql_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
; and reveal this password! And of course, any users with read access to this
; file will be able to reveal the password as well.
; http://php.net/mysql.default-password
mysql.default_password =

; Maximum time (in seconds) for connect timeout. -1 means no limit
; http://php.net/mysql.connect-timeout
mysql.connect_timeout = 60

; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
; SQL-Errors will be displayed.
; http://php.net/mysql.trace-mode
mysql.trace_mode = Off

не отрабатывается -пустая страница.
Подскажите где взять логи если надо .

Или что ещё надо настроить?

#236419
Slox написал:
Подскажите где взять логи если надо .

где-то в /var/log/httpd/error*, но точно я не помню...

Slox написал:
пустая страница.
Slox написал:
Или что ещё надо настроить?

в php.ini error_reporting=E_ALL|E_STRICT, display_errors=On и прочие переменные, которые связаны с ошибками. Их включить нужно.
Хотя можно обойтись и чтением лога ошибок.

#236733

Спасибо!!! Короче куча ситаксических ошибок(впрочем как без них ) а так всё работает!

#236735
Slox написал:
Короче куча ситаксических ошибок(впрочем как без них )

php, такой пхп...

Slox написал:
а так всё работает!

ну в продакшене можно и отключить вывод ошибок.

#236738

В php.ini все хорошо в коментах написано кстати, что включать, что нет.

#236773
newzenon написал:
В php.ini все хорошо в коментах написано кстати, что включать, что нет.

однако tl;dr :P

#236780
drBatty написал:
[quote=Slox]Короче куча ситаксических ошибок(впрочем как без них )

php, такой пхп...

Slox написал:
а так всё работает!

ну в продакшене можно и отключить вывод ошибок.[/quote]

Вопросик ещё
такое вот сообщение даже в отладке не хочеться видеть: Notice: Undefined index: namebd in /var/www/html/inphp.php on line 15
это про $namebd=$_POST["namebd"]; она, по скрипту в начале в этом месте и правда пусто. Так вот, где в .ini поставить off дабы про это больше не беспокоили, но про любую ошибку в функциях продолжали писать?

изучил [url] http://ru2.php.net/manual/ru/errorfunc.configuration.php#ini.log-errors[/url] этот труд не выясгил.. если есть быстрый ответ поделитесь плиззз, нет подумаю потрачу время)

#236791
Slox написал:
такое вот сообщение даже в отладке не хочеться видеть: Notice: Undefined index: namebd in /var/www/html/inphp.php on line 15
это про $namebd=$_POST["namebd"]; она, по скрипту в начале в этом месте и правда пусто

это не ошибка, а предупреждение. Исправляется так:

text
$namebd= isset($_POST["namedb"]) ? $_POST["namebd"] : "";

можно конечно и запретить вывод нотисов, но лучше так не делать. Ибо такой ошибочный код будет пропущен. И не только такой.
запрещается это в error_reporting, в комментах как раз этот случай и раскрыт:

text
; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a
; previously set variable or directive (e.g. ${foo})

; Expressions in the INI file are limited to bitwise operators and parentheses: ; | bitwise OR ; ^ bitwise XOR ; & bitwise AND ; ~ bitwise NOT ; ! boolean NOT

#236795
Slox написал:
изучил http://ru2.php.net/manual/ru/errorfunc … log-errors этот труд не выясгил.. если есть быстрый ответ поделитесь плиззз, нет подумаю потрачу время)

http://ru2.php.net/manual/ru/errorfunc.configuration.php#ini.log-errors правильная сцылка
там чуть выше и ответ есть готовый:

text
В PHP 4 и PHP 5 значение по умолчанию E_ALL & ~E_NOTICE. В этом режиме ошибки уровня E_NOTICE не показываются. Однако, они могут потребоваться во время разработки скрипта.
Войдите или зарегистрируйтесь, чтобы ответить.