[PHP] Увеличение объема памяти для выполнения скрипта

Задача: увеличить объем допустимой памяти для выполнения скрипта.

Решение:

Вариант 1: в файл .htaccess добавить строку (если PHP работает под Apache через mod_php)

php_value memory_limit xxM

Вариант 2: задать необходимое значение в файле php.ini

memory_limit = xxM

Вариант 3: задать необходимое значение непосредственно в PHP-скрипте

ini_set('memory_limit', 'xxM')

[nginx] 413 Request Entity Too Large

Если при попытке загрузить файл размером больше 1 МБ появляется ошибка «413 Request Entity Too Large«, то необходимо добавить в файл /etc/nginx/nginx.conf следующее:

client_max_body_size 10m;

И затем перезапустить nginx:

service nginx restart

[Windows] Расшифровка кодов в Task Scheduler

Некоторые из возможных кодов для планировщика задач:

(0×0): успех
(0×1): файл или путь не найден
(0×41301): задача еще выполняется
(0x800704DD): пользователь не подключен к сети

[CMD] Создание нового файла

Задача: создать новый файл, указанного размера

Решение:

fsutil file createnew <file_name> <file_size>
<file_size> — размер в байтах

Пример использования (будут созданы 10 файлов размеров в 2 МБ):

FOR /L %%i IN (1,1,10) DO fsutil file createnew C:\new_file%%i.txt 2097152

[Windows] Установка сервера TomCat

Задача: установить сервер TomCat под ОС Windows

Решение:

1. Загружаем архив дистрибутива с официального сайта из раздела Binary Distributions

2. Распаковываем содержимое архив в любую директорию

3. Создаем bat-файл следующего содержания (он будет служить для запуска сервера):

@echo off

set JAVA_HOME=C:\Program Files\Java\jre7
set CATALINA_HOME=C:\Program Files\TomCat
cd C:\Program Files\TomCat\bin
startup

4. Создаем bat-файл следующего содержания (он будет служить для остановки сервера):

@echo off

set JAVA_HOME=C:\Program Files\Java\jre7
set CATALINA_HOME=C:\Program Files\TomCat
cd C:\Program Files\TomCat\bin
shutdown

5. Запускаем файл для запуска сервера. Проверяем, что по адресу http://localhost:8080/ открывается страница-заглушка.

Если есть необходимость запускать TomCat на другом порту, отличном от дефолтного (8080), то для этого нужно изменить порт в файле conf\server.xml в строке Connector port="8080" protocol="HTTP/1.1"

[CMD] Создание цикла

Для работы с циклами предусмотрена команда FOR, которая имеет следующий синтаксис:

FOR /L %variable IN (start,step,end) DO command [command-parameters]

Пример использования:

for /L %%i in (0,1,99) do mkdir folder%%i — будут созданы 100 папок с именами от folder0 до folder99.

Про символические ссылки в Windows

Windows (а если быть точнее, файловая система NTFS) умеет работать с символическими ссылками, которые могут указывать как на директорию, так и на файл.

Для создания символической ссылке можно воспользоваться командой mklink, либо воспользоваться сторонними утилитами. В данный момент я использую Link Shell Extension, который встраивает в контекстное меню соответствующие пункты для создания символических ссылок.

 

[MySQL] Создание бэкапа БД с дальнейшим архивированием

Создание резервной копии базы данных с одновременным архивированием с указанием даты и времени создания бекапа:

/usr/bin/mysqldump -u -p | gzip > /path/to/backup/db/database_'date +%y_%m_%d'.gz

Бан IP-адреса, используя iptables

iptables -N ban
iptables -A INPUT -j ban
iptables -A ban -s 00.00.00.00 -j DROP

VMware: разблокирование виртуальной машины

Сегодня, при запуске виртуальной машины (работает под управлением VMware Workstation) столкнулся с такой проблемой:

This virtual machine appears to be in use. If this virtual machine is already in use, press the «Take Ownership» button to obtain ownership of it.» Otherwise, press the «Cancel» button to avoid damaging it.

При попытке нажать кнопку «Take Ownership» появляется еще одно сообщение:

Could not open virtual machine. Taking ownership of this virtual machine failed. The virtual machine is in use by an application on ypur host computer.

Решением проблемы является необходимость удалить директорию блокировки (*.lck), которая находится в папке виртуальной машины.