====== PHP ====== ===== Настройки PHP для загрузки файлов ===== За общесистемные параметры загрузки файлов отвечают следующие опции php.ini: * upload_max_filesize - максимальный размер загружаемого файла. * max_file_uploads - максимальное количество одновременных загрузок. * post_max_size - максимальный размер отправляемого через POST-запрос файла (должен быть больше upload_max_filesize). * max_execution_time - время в секундах, в течении которого скрипт должен полностью завершить своё исполнение. По окончании этого времени - принудительное завершение. Для отмены ограничений можно присвоить 0. * max_input_time - время в секундах, в течении которого скрипт должен получить и обработать все данные из POST и GET запросов. * memory_limit - ограничение на выделяемую для исполнения одного скрипта память. Для отмены ограничений, поставьте -1. Должен быть больше post_max_size. Если загрузка выполняется через Nginx, необходимо проверить опции nginx.conf: * client_max_body_size - максимально допустимый размер тела запроса клиента, указываемый в поле “Content-Length” заголовка запроса. Для того, чтобы собрать php на ubuntu 16.04 со своими настройками, действуем так: apt-get install git apache2 mysql-server make autoconf gcc bison libxml2 \ libxml2-dev libcurl4-openssl-dev pkg-config libssl-dev \ bzip2 libbz2-dev libjpeg-dev libpng-dev libxpm-dev libfreetype6-dev \ libgmp-dev libgmp3-dev libmcrypt-dev libmysqlclient-dev \ libpspell-dev librecode-dev mkdir /root/php7 & cd /root/php7 wget https://www.php.net/distributions/php-7.2.34.tar.gz tar xfz php-7.2.34.tar.gz & cd php-7.2.34 ./configure \ --prefix=/usr \ --with-config-file-path=/etc \ --enable-mbstring \ --enable-zip \ --enable-bcmath \ --enable-pcntl \ --enable-ftp \ --enable-exif \ --enable-calendar \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \ --enable-gd-jis-conv \ --enable-fd-setsize=10240 \ --with-curl \ --with-iconv \ --with-gmp \ --with-pspell \ --with-gd \ --with-jpeg-dir=/usr \ --with-png-dir=/usr \ --with-zlib-dir=/usr \ --with-xpm-dir=/usr \ --with-freetype-dir=/usr \ --with-openssl \ --with-pdo-mysql=/usr \ --with-gettext=/usr \ --with-zlib=/usr \ --with-bz2=/usr \ --with-recode=/usr \ --with-mysqli=/usr/bin/mysql_config make -j4 make install ==== Ссылки ==== * https://www.php.net/manual/ru/ini.list.php * https://nginx.org/ru/docs/http/ngx_http_core_module.html#client_max_body_size ===== Ссылки ===== * https://php.net/manual/ru/