В настоящее время у меня установлен Python 2.7 как часть OSX, а недавно установлен 3.5.2.
Я запускаю локальный веб-сервер на моем Mac с помощью XAMPP, и когда я выполняю скрипт python из apache, он загружается нормально:
$executePython = "python " . __DIR__ . "/cycle/cutoff.py $device_id $processPreviousMinutes";
exec("$executePython");
Тем не менее, когда я заменяю python
с python3
Мой сценарий отказывается работать. Я могу вызвать его вручную из командной строки, используя обе версии, однако похоже, что учетная запись / демон apache не имеет доступа к python3. Будет ли это что-то делать с файлом конфигурации, который я пропустил?
Мы не хотим портить системный путь в последней версии OSX. Что делать, если вы добавите путь python3 в ваш скрипт, как это, а затем делать обычные вещи
putenv("PATH=/usr/local/bin/:" . exec('echo $PATH'));
$executePython = "python3 " . __DIR__ . "/cycle/cutoff.py $device_id $processPreviousMinutes";
exec("$executePython");
putenv
просто добавляет ваш путь к python3 к любому текущему пути в apache вашего XAMPP.
Других решений пока нет …