Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите убрать ошибки
 
 автор: Oleg77   (12.08.2016 в 17:26)   письмо автору
 
 

Добрый день, форумчане!

Не подскажете, как убрать вот такие ошибки:
Warning: PDO::__construct(): MySQL server has gone away in C:\wamp\www\test\config.php on line 9

Warning: PDO::__construct(): Error while reading greeting packet. PID=12972 in C:\wamp\www\test\config.php on line 9

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2006] MySQL server has gone away' in C:\wamp\www\test\config.php on line 9

PDOException: SQLSTATE[HY000] [2006] MySQL server has gone away in C:\wamp\www\test\config.php on line 9


С уважением,
Олег

  Ответить  
 
 автор: confirm   (13.08.2016 в 13:42)   письмо автору
 
   для: Oleg77   (12.08.2016 в 17:26)
 

Строку 9 файла config.php надо показывать или вы хотите чтобы все догадывались в чем у вас баг при создании объекта PDO?

  Ответить  
 
 автор: Oleg77   (13.08.2016 в 19:34)   письмо автору
 
   для: confirm   (13.08.2016 в 13:42)
 

Здравствуйте!

Вот строка 9: $dbh = new PDO('mysql:host=localhost:8080;dbname=test', $user, $pass);

Вот файл config.php:

<?php

// Connect to a MySQL database using driver invocation 
//$dsn = 'mysql:dbname=test;host=localhost:8080';
//$dbname= 'test';
$user 'root';
$pass '';

try {
    
$dbh = new PDO('mysql:host=localhost:8080;dbname=test'$user$pass);
    
/*
    foreach($dbh->query('SELECT * from FOO') as $row) {
        print_r($row);
    }
    $dbh = null;
    */
} catch (PDOException $e) {
    print 
"Error!: " $e->getMessage() . "<br/>";
    die();
}
?>


С уважением,
Олег

  Ответить  
 
 автор: confirm   (14.08.2016 в 13:06)   письмо автору
 
   для: Oleg77   (13.08.2016 в 19:34)
 

<?
$dbh 
= new PDO('mysql:host=localhost;port=8080;dbname=test;charset=кодировка_соединения'$user$pass);

  Ответить  
 
 автор: Oleg77   (14.08.2016 в 17:37)   письмо автору
 
   для: confirm   (14.08.2016 в 13:06)
 

Спасибо.
Работает.

Но сейчас адрес такой: http://localhost:8080/test/config.php
Не подскажете как сделать, чтобы было так: http://localhost/test/config.php
Используется windows 10 wampserver.

С уважением,
Олег

  Ответить  
 
 автор: confirm   (14.08.2016 в 18:21)   письмо автору
 
   для: Oleg77   (14.08.2016 в 17:37)
 

А причем тут адрес, вы что по сети соединение устанавливать собираетесь?

  Ответить  
 
 автор: Oleg77   (14.08.2016 в 18:35)   письмо автору
 
   для: confirm   (14.08.2016 в 18:21)
 

Хотел спросить можно сделать чтобы это работало без :8080, т.е. для удобства.

С уважением,
Олег

  Ответить  
 
 автор: confirm   (14.08.2016 в 19:17)   письмо автору
 
   для: Oleg77   (14.08.2016 в 18:35)
 

http://localhost/test/config.php - это сетевой адрес к файлу конфигурации, а он не должен быть доступен по сети! Каталог в котором он лежит должен быть закрыть на доступ извне. Файл конфигурации должен подключаться в основных файлах, в том же индексном. Указан ли порт соединения или нет на url это никоим образом не влияет. Номер порта можно и убрать в подключении.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования