У меня установлены Ghostscript, ImageMagick и IIS 5.0 на Windows Server Server.
У меня также есть сценарий PHP, который запускает сценарий преобразования для создания миниатюр для PDF, который загружается в каталог:
<?php
$output = array();
$ret = 0;
echo exec('convert D:\content\myfile.pdf[0] D:\content\myfile_thumb_1.jpg', $output, $ret);
var_dump($ret);
?>
Я определил, что проблема заключается в том, что скрипт при вызове из веб-браузера запускается от имени пользователя IUSR_ [COMPUTERNAME].
Как моя учетная запись администратора, команда успешно выполняется из строки CMD (дух).
Какие разрешения мне нужно изменить, чтобы разрешить создание эскиза пользователем сценария / пользователем IUSR?
Я попытался изменить разрешения для следующего:
- Каталог программных файлов GhostScript (позволяющий выполнять, писать, читать)
- Каталог ImageMagick (позволяющий выполнять, писать, читать)
- Каталог загрузки, в котором находятся миниатюры (позволяющие читать, писать)
В проводнике Windows щелкните правой кнопкой мыши каталог, свойства, а затем перейдите на вкладку Безопасность. Я добавляю разрешения для [ИМЯ КОМПЬЮТЕРА]/ Гости, потому что IUSR_ [ИМЯ КОМПЬЮТЕРА] находится в группе Гости.
Я не достаточно знаком с IIS или Windows, чтобы это знать, но нужно ли перезагружать окно, чтобы обновить разрешения, или оно должно работать после применения изменений? Я перезапустил службу IIS.
Примечание. Я удалил полное имя компьютера и заменил его на [ИМЯ КОМПЬЮТЕРА] в приведенном выше сообщении.