<?php
echo exec("python txt_img.py admin 2>&1");
highlight_file(__FILE__);
?>
Php работает без проблем на сервере, но когда я захожу на php через браузер, появляется ошибка ImportError: нет модуля с именем ‘PIL’.
Код Python также работает без проблем на сервере.
# desired size
import random
import sys
from PIL import Image, ImageDraw, ImageFont
img = random.randint(1,10)
image = Image.open(str(img)+'.jpeg')
# initialise the drawing context with
# the image object as background
draw = ImageDraw.Draw(image)
font = ImageFont.truetype('arial.ttf',100)
# starting position of the message
(x, y) = (100,70)
name = sys.argv[1]
color = 'rgb(0,0,0)'
draw.text((x, y), "Welcome "+name, fill=color,font=font)
# save the edited image
img= random.randint(1,10)
img = "greet_"+str(img)+".jpeg"image.save(img)
print(img)
Заранее спасибо.
PIL должен быть установлен для текущего пользователя или для пользователя root, чего можно добиться, установив его через сам скрипт, используя subprocess
или
sudo pip install pillow
Для более ранних версий pip (<10) pip.main(['install', package])
может также работать, но использование подпроцесса является более безопасной ставкой.
Это просто хакерский способ сделать это, должны быть лучшие способы обойти это.
Других решений пока нет …