Я не уверен, что это правильное место для размещения подобных вопросов, если это не так, пожалуйста (вежливо), дайте мне знать ...: -)
Мне нужно сохранить файлы размером более 16 МБ в базе данных mysql с php-сайта ...
Я уже изменил c: \ xampp \ mysql \ bin \ my.cnf
и установите max_allowed_packet в 16 МБ, и все работает нормально
затем я установил его на 32 МБ, но я никак не могу обработать файл размером больше 16 МБ
Я получаю следующую ошибку:
'Сервер MySQL ушел'
(та же ошибка, что и у меня, когда max_allowed_packet был установлен в 1 МБ)
должна быть какая-то другая настройка, которая не позволяет мне обрабатывать файлы размером более 16 МБ
может быть, php-клиент, я думаю, но я не знаю, где его редактировать
это код, который я использую
когда file.txt меньше 16.776.192 байт, он работает нормально, но
если file.txt имеет 16.777.216 байт, я получаю вышеупомянутую ошибку
о, а поле download.content это длинный шарик ...
$file = 'file.txt';
$file_handle = fopen( $file, 'r' );
$content = fread( $file_handle, filesize( $file ) );
fclose( $file_handle );
db_execute( 'truncate table download', true );
$sql =
"insert into download(
code, title, name, description, original_name,
mime_type, size, content,
user_insert_id, date_insert, user_update_id, date_update )
values (
'new file', 'new file', 'sas.jpg', 'new file', '$file',
'mime', " . filesize( $file ) . ", '" . addslashes( $content ) . "',
0, " . db_char_to_sql( now_char(), 'datetime' ) . ", 0, " . db_char_to_sql( now_char(), 'datetime' ) . " )";
db_execute( $sql, true );
(функция db_execute просто открывает соединения и выполняет sql)
работает на Windows XP sp2
версия сервера: 5.0.67-сообщество
PHP версия 4.4.9
Версия API клиента mysql: 3.23.49
Использование: ApacheFriends XAMPP (Basispaket) версии 1.6.8
что идет с
+ Apache 2.2.9
+ MySQL 5.0.67 (Сервер совместной работы)
+ PHP 5.2.6 + PHP 4.4.9 + PEAR
+ phpMyAdmin 2.11.9.2
...
это часть содержания
C: \ XAMPP \ MySQL \ Bin \ my.cnf
# The MySQL server
[mysqld]
port= 3306
socket= "C:/xampp/mysql/mysql.sock"
basedir="C:/xampp/mysql"
tmpdir="C:/xampp/tmp"
datadir="C:/xampp/mysql/data"
skip-locking
key_buffer = 16M
# max_allowed_packet = 1M
max_allowed_packet = 32M
table_cache = 128
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M