|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
Здравствуйте, перенёс базу на другую машину (mariadb 10.* Debian 9), после переноса почему то перестал работать один из скриптов, ошибка звучит так: Fatal error: in ***/Connect.php on line 11 (полный адрес скрыт). Сам скрипт выглядит так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
11-я строка: $db = new \PDO("mysql: host=$host; dbname=$dbname", $user, $password); Подскажите пожалуйста в чём может быть ошибка и как её можно исправит? Модератор: Тема перенесена из форума "MySQL". ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 10:02 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
try{ $db = new \PDO("mysql: host=$host; dbname=$dbname", $user, $password); } catch (\Exception $e) { var_dump($e->getMessage()); } ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 10:48 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
opiumsЗдравствуйте, перенёс базу на другую машину (mariadb 10.* Debian 9), после переноса почему то перестал работать один из скриптовСлишком куцее сообщение об ошибке. Обычно подробностей больше. Ну базу мало перенесть, надо ещё там mysql-пользователю предоставить доступ к этой базе и конфиг подключения в скриптах поправить. Не будет лишним проверить доступность сервера с СУБД по сети. Хотя бы telnet'ом. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 10:57 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
ScareCrow, Код: php 1. 2. 3. 4.
хм, craftedweb в списке есть и доступ тоже есть до неё... 18: $db->setAttribute( \PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION ); ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 11:06 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
vkle, доступность есть, подключение с других сайтов к этой машине, базе и даже таблице проходят успешно и без ошибок, не работает лишь этот скрипт. P.S. Код: php 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 11:09 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
Можно предположить, что база неправильно указана или сервер указан неправильно или, если указано доменное имя, оно резолвится неправильно. Иначе откуда бы взяться "Unknown database 'craftedweb'" ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 11:29 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
vkle, Нет, с подключением проблем нет, использовал вот такой скрипт для проверки сейчас: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
И получил: Подключение к базе данных craftedweb установлено! И да, я использую подключение к локальной машине. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 11:42 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
И запросы к базе с этого коннекта исправно работают? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 12:55 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
vkle, Да, по крайней мере вывод через mysqli точно: Код: php 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 14:43 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
Шайтан, однако. на первый взгляд. Что известно о версии PHP, о версии старой СУБД, где усё работало? Возможно, какая-то несовместимость пхпшного драйвера pdo-mysql с текущей весией СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 14:58 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
vkle, Предыдущая машина: Код: php 1. 2. 3. 4.
Код: php 1. 2.
ОС: win 7, IIS 7.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 15:00 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
Не понял, PHP скрипты тоже переехали? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 15:07 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
vkle, нет, php-скрипты не переехали, они остались на месте. На 1й машине запускается скрипт, он берёт информацию из СУБД MySQL 2й (локальной машины). Возможно нужно как то правильно прописать подключение, тогда и всё получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 15:19 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
Ну были б PHP и СУБД не одной машине - тогда подключения можно указывать как localhost (оно и работает пошустрее). У Вас же машины разные, не получится так. А в общем, довольно странная ситуация. Такое впечатление, что pdo_mysql не в состоянии договориться с СУБД - всё же, MySQL и MariaDB не совсем одно и то же. Хотя, mysqli работает же... Не смотрели в phpinfo(), драйвер для pdo_mysql и mysqli используется один и тот же или разные? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 16:49 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
vkle, Одинаковые, mysqlnd 5.0.11-dev - 20120503 - $Id: 76b08b24596e12d4553bd41fc93cccd5bac2fe7a $ . Я предполагаю что использую старое pdo подключение к mysql, которое больше не поддерживается mariadb, и нужно как то перевести всё с pdo на mysqli, но я не так силён в php, поэтому не знаю как правильнее будет поменять подключение с pdo на mysqli. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 16:56 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
opiumsЯ предполагаю что использую старое pdo подключение к mysql, которое больше не поддерживается mariadbСУБД как-то по барабану, что там на клиенте используется. Про существование PDO и других расширений PHP она не в курсе. opiumsи нужно как то перевести всё с pdo на mysqli, но я не так силён в php, поэтому не знаю как правильнее будет поменять подключение с pdo на mysqli.Это разные расширения PHP. По простому говоря, всё PDO-шное придется переписывать на mysqli-шное. Если скриптов более нескольких штук, которые можно за часок поправить и отладить, тогда гораздо проще заменить СУБД на MySQL, если уж на то пошло. Хотя, можно попробовать и PHP обновить до последней версии (не думаю, что поможет, но всё же). Ещё есть немного настроек драйвера http://php.net/manual/ru/ref.pdo-mysql.php Но на первый взгляд, там ничего такого. Ладно, в порядке эксперимента. В варианте с PDO получается "Unknown" только одна база `craftedweb`, или же стандартная, скажем, `mysql` или `test` тоже, типа, не существует? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2018, 18:07 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
vkle, К базам mysql и performance_schema подключается, данные получает, ко всем остальным базам не хочет ни в какую, та же ошибка ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 05:30 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
vkle, Результат подключения на скрине ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 05:31 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
По идее, база `information_schema` тоже должна быть доступна (в MySQL есть такая системная база, но за MariaDB не скажу). Тогда, в принципе, можно предположить, что PDO работает с этим сервером. На мой взгляд, есть смысл детально проработать две версии. 1. Права mysql-пользователя, с которым выполняется подключение. И, если с правами всё в порядке, то 2. Фактически подключение происходит не к тому серверу (хосту), который задан в настройках. Определить это легко можно по содержимому (базы, таблицы, данные) и по системным переменным (та же hostname, например). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 10:47 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
vkle, Хм, а если и с правами всё в порядке и подключение прописано верно? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 11:05 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
Имел в виду не что прописано в скрипте, а фактическое подключение. Возможно, заданная настройка DSN не применилась по какой-то причине. В конфиге PHP, кстати, для PDO можно задать этот параметр php.net/manual/ru/pdo.configuration.php Для чего так сделано - не вполне понятно. Как будет вести себя PHP или PDO при неудачном подключении по заданному в скрипте DSN при наличии прописанного в конфиге - судить не берусь. Будет ли брать альтернативу из конфига или нет - об этом в мануале не написано. Потому, когда явных ошибок и опечаток нет (включая такие ляпы, как "c" латинская и "с" русская), есть смысл продолжать поиск проблемы расширенно, на более тонком уровне. В противном же случае остается лишь констатировать факт "оно не работает". Однако, причина этого "не работает" не ясна, не найдена. Гипотетически же, маршрут можно завернуть куда угодно сетевой маршрутизацией, например, в том числе и для отдельного порта. Но это не Ваш случай, ибо mysqli работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 12:02 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
Я смог запустить скрипт на локальной машине, именно там, куда перенёс базу. Запустилось всё как под локалхостом, так и под тем пользователем, под которым подключался с другой машины, причины почему так происходит так и неясна ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 12:58 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
у пользователя есть права с локалхост и нет прав с удаленного IP ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 13:14 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
opiumsЗапустилось всё как под локалхостом, так и под тем пользователем, под которым подключался с другой машины, причины почему так происходит так и неяснаПосмотрите пользователей СУБД и их права. Например, 'user'@'localhost', 'user'@'%', а так же 'user'@'server.local' и 'user'@'192.168.10.20' - это разные пользователи (даже если server.local резолвится в 192.168.10.20 и наоборот). Не всегда можно сходу точно определить, под каким конкретно именем пользователя произошло подключение (ну, кроме локалхоста). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 14:32 |
|
Fatal error: in ***/Connect.php on line 11
|
|||
---|---|---|---|
#18+
vkle, у пользователя все права есть, 'user'@'%', через админер подключение спокойно проходит, так же как и через остальные программы - navicat, heidisql, так же я добавлял принудительно базы, это так же не дало эффекта ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2018, 15:22 |
|
|
start [/forum/topic.php?fid=23&msg=39658908&tid=1460273]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 333ms |
total: | 484ms |
0 / 0 |