Мне нужно запустить inkscape в PHP, чтобы преобразовать SVG-образ в PDF. Однако каждый раз, когда я пытаюсь:
// некоторая система кода PHP («inkscape -z -file = svg.svg –export-pdf = pdf.pdf»); // больше кода
- не удалось открыть поток: HTTP-запрос не удался! HTTP / 1.0 400 Bad Request
- Apache 2.22 + php 5.40 + Symfony2 Frameowrk = Ошибка сегментации Apache (11)
- Сложность Ioncube с PHP 5.5
- Можно ли использовать xdebug на Ubuntu?
- Создание онлайн-системы классификации PHP в Linux: exec Behavior, Process ID и grep
У меня нет нового файла, и я получаю его в журнале apache erro.
(inkscape: 28607): libgnomevfs-WARNING **: невозможно создать каталог ~ / .gnome2: Permission> denied
Аварийное спасение активировано! Экстренное сохранение завершено. Inkscape закроется. Если вы можете воспроизвести этот сбой, напишите ошибку на www.inkscape.org с подробным описанием шагов, ведущих к сбою, поэтому мы можем исправить это. ** Сообщение: Ошибка: Inkscape обнаружил внутреннюю ошибку и закроется.
Ошибка сегментации
Я запущен на ubuntu с сервером apache. Что я могу сделать, чтобы исправить эту проблему?
Это связано с системными правами, более простой способ исправить – создать папку .gnome2 в корневой домашней папке пользователя, который запускает этот код и дает ему права писать (666 должно быть хорошо).
Обратите внимание, что если вы делаете это по FTP-папкам / файлам, начиная с. (скрытые файлы в Linux), может не отображаться в списках в зависимости от конфигурации вашего клиента.
Например:
mkdir -p /var/www/.gnome2 /var/www/.config /var/www/.config/inkscape chmod 755 /var/www/.gnome2 /var/www/.config /var/www/.config/inkscape chown -R www-data /var/www/.gnome2 /var/www/.config /var/www/.config/inkscape
Inkscape выполняется обычным веб-сервером-пользователем. Настройка по умолчанию, которую Ubuntu предоставляет для www-данных, находит домашний каталог www-данных в / var / www.
Это две возможности:
a) Изменение домашнего каталога www-data на / home / www-data
b) Отключите VirtualHost в / var / www
В обоих случаях вам необходимо изменить права ~ www-data. Сначала «chown» каталог на www-data: www-data и дайте им права на запись.
В следующий раз, если вы выполните inkscape через PHP (как пользователь www-data), будут созданы отсутствующие каталоги.