Как включить Python при выполнении из PHPPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как включить Python при выполнении из PHP

Сообщение Anonymous »

У меня есть небольшой скрипт Python для расчета пиков сигнала PPG, как показано ниже.

Код: Выделить всё

#!/usr/bin/python
import numpy as np
from scipy.signal import find_peaks

# Sample PPG signal
ppg_signal = np.sin(2*np.pi*0.5*np.linspace(0, 10, 1000)) + np.random.rand(1000) * 0.2

# Find peaks with prominence of 0.1 and minimum distance of 20 samples
peaks, _ = find_peaks(ppg_signal, prominence=0.1, distance=20)

# Print the peak locations
print("Done")
Это отлично работает в режиме CLI на моем сервере. Однако когда я выполняю его из своего PHP-скрипта с помощью:

Код: Выделить всё

exec('/usr/bin/python3 /mypython/peaks.py', $output, $ret_code);
Я получаю ret_code, равный 1, и нулевой выходной массив. Если я закомментирую все это, кроме строки импорта и строки печати, это сработает. Я пришел к выводу, что разрывается строка «from scipy...».
Я предполагаю, что это как-то связано с разрешениями? Что еще я могу попробовать?
РЕДАКТИРОВАТЬ: Я знаю, что find_peaks требует обновления scipy, которое я установил. Вот почему он работает из командной строки. Только не из php exec.
EDIT2: Оказывается, это пути. У моего веб-пользователя не включен путь к библиотеке scipy. Я установил scipy как root. Просто нужно придумать, как это решить.

Подробнее здесь: https://stackoverflow.com/questions/786 ... g-from-php
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»