Я написал «Apache не позволяет PIL работать» в качестве заголовка, но я не уверен, так ли это на самом деле.
У меня есть php-скрипт, который отправляет данные json в py-файл, который будет обрабатывать изображение в соответствии с этими данными json. Связь между языками работает. Но когда я добавляю строку для импорта PIL в py-файл, php возвращает NULL в браузере. Это также работает, когда я запускаю скрипт php из командной строки, но мне нужно запустить его в веб-браузере.
Это скрипт php:
<?php
$result = exec('python somecode.py ' . escapeshellarg(json_encode('897')));
$resultData = json_decode($result, true);
var_dump($resultData);
?>
это файл py:
import sys, json
data = json.loads(sys.argv[1])
print data
это работает очень хорошо и дает мне вывод int(897)
что ожидается. Когда я добавлю строку from PIL import Image
, это дает NULL
в браузере, но без проблем можно запустить из командной строки. Я даже не добавил код для обработки изображения, просто пытался импортировать PIL.
РЕДАКТИРОВАТЬ: я пытался импортировать NumPy, это не помешало запуск кода. Он работает в браузере, даже если я импортирую NumPy. Так что, вероятно, проблема связана с PIL.
Это было о пути изображения. Я изменил его на правильный, и проблема исправлена.
Других решений пока нет …