Запустите Photoshop Droplet из PHP на Win7

Я пытаюсь собрать концептуальное подтверждение для коммерческого проекта, который берет загрузку файла изображения с веб-страницы и выводит изображение, преобразованное с помощью различных фильтров Photoshop и стороннего коммерческого фильтра. Поскольку это подтверждение концепции и доступно только для внутренних IP-адресов, я не особо беспокоюсь о безопасности. На данный момент я просто хотел бы показать, что это теоретически возможно.

Проблема в том, что я могу заставить работать Photoshop Droplet отлично, так как он выполняется из приглашения CMD с использованием полных путей... Но когда я использую ту же самую командную строку для вызова exec в PHP (как проверено отладкой с помощью echo), исполняемый файл дроплета запускается (как проверено Sysinternals ProcessExplorer), но Photoshop не запускается или, если он уже запущен (даже в качестве администратора), он не может выполнить действия в дроплете.

Я пробовал:

  • Отключение контроля UAC на тестовом ПК (Win7)
  • Настройка всех соответствующих процессов на "Запуск от имени администратора" для всех пользователей (mydroplet.exe, photoshop.exe, httpd.exe, php.exe)
  • Повышение разрешений httpd.exe
  • Нет безопасного режима в php.ini
  • Обертывание выполнения капли в BAT-файл для вызова из PHP exec

Примечание. Конкретные манипуляции с изображениями, которые я пытаюсь сделать слишком сложными для ImageMagik или аналогичных (пожалуйста, не предлагайте этого), а сторонний фильтр доступен только в Windows. Для моих тестов я не использую этот сторонний фильтр. Я просто пытаюсь заставить все вышеперечисленное работать с простыми встроенными фильтрами Photoshop. Я использую PS CS3.

В двух словах... Как выполнить каплю Photoshop из PHP (на Win7)?

[Я использую абсолютные пути повсюду (совместим с DOS), и если я запускаю строку, переданную exec вручную, в приглашении CMD, она работает как положено, поэтому я сильно подозреваю, что проблемы с разрешениями (у меня были похожие проблемы с получением капель для работы вне PHP, который я решил, используя инструкции по адресу http://helpx.adobe.com/photoshop/kb/troubleshoot-photoshop-droplets-windows.html). Безопасность сервера не является проблемой (на данном этапе), поэтому в идеале я хотел бы установить все, чтобы иметь все разрешения (как это было в старых более легких win95 дней!;-) - это всего лишь тестовая коробка во внутренней локальной сети!!! Я могу отключить его после моей презентации. По крайней мере, в Linux я мог бы просто выполнить команду chmod -R 777 /* - и переформатировать жесткий диск позже - что эквивалентно в Windows7??? (т.е. всем дать все?) ]

1 ответ

Решение

Я бы сказал, что вы изменили все, кроме флажка "Разрешить службе взаимодействовать с рабочим столом" для службы Apache.

Другие вопросы по тегам