Страница 1 из 2

ImageMagick + exec ('convert')

Добавлено: 25 янв 2014, 15:28
art4mac
Всем привет. Проблума следующая. У меня в проекте ImageMagick должен работать через exec ('convert [параметры]'). Как настроить/куда копать, чтобы все заработало.

Сам ImageMagick для Винды стоит. В Path тоже есть. В сервере стоит Свой Path + WinPath, в PHPinfo тоже все есть. Exec выполняется (echo exec('whoami');) В консоле Винды convert выполняется. А вот в проекте не работает.

Помогите разобраться в причинах и устранить их. :) Заранее спасибо.

Добавлено: 28 янв 2014, 17:52
Максим
Ну так а ошибку то вам какую говорит? Покажите...

Добавлено: 28 янв 2014, 17:58
art4mac
Никаких ошибок. Специально вывел в отдельную страницу. По идее echo exec("convert"); должен вернуть все, что пишет convert в консоли. Но тут пусто. При этом echo exec('whoami'); возвращает имя юзера.

Добавлено: 28 янв 2014, 18:49
Максим
art4mac писал(а):По идее echo exec("convert"); должен вернуть все, что пишет convert в консоли.
Ваша идея неверна, команда exec выводит только последнюю строку ответа, а она часто может быть пустой или просто состоять из пробела. Используйте команду passthru для вывода полного ответа.

Добавлено: 28 янв 2014, 19:44
art4mac
Ок.

Вариант 1
Код http://take.ms/ccZDq Результат http://take.ms/bX3zG

Вариант 2.
Код http://take.ms/Ikzh7 Результат http://take.ms/mbU6k

Добавлено: 28 янв 2014, 19:51
Максим
Там же нет никаких ошибок. Вы уверены то показали вывод выполнения команды конвертации ваших картинок, а не просто ("convert")?

Добавлено: 28 янв 2014, 19:58
art4mac
В том то и дело, что ошибок нет.
<?php
echo("Start<br />");
echo( passthru ('convert -resize 640x480 Image.jpg mini_image.jpg'));
echo "<br />".exec('whoami');
echo("<br />End");
?>
в ответ тишина. http://take.ms/w8FZR

Добавлено: 28 янв 2014, 21:19
Максим
Указывайте полные пути до картинок, думаю проблема в этом.

Добавлено: 29 янв 2014, 11:18
art4mac
Честно вс проверяю. Пока результата нет

Код
<?php

echo("Start<br />");
echo( passthru ('convert -resize 640x480 D:\Dropbox\!Server\domains\forforce\ff.team\web\Image.jpg D:\Dropbox\!Server\domains\forforce\ff.team\web\mini_image.jpg'));
passthru ('convert -resize 640x480 D:\Dropbox\!Server\domains\forforce\ff.team\web\Image.jpg D:\Dropbox\!Server\domains\forforce\ff.team\web\mini_image.jpg');
echo "<br />".exec('whoami');
echo("<br />End");


?>
Результат http://take.ms/nxaUU новых фалов тоже нет

Добавлено: 29 янв 2014, 14:59
Максим
echo( passthru ('convert Image.jpg -resize 640x480 mini_image.jpg'));
Так попробуйте.