Intereting Posts
«Неизвестный модификатор« g »в …» при использовании preg_match в PHP? Передайте переменную PHP, созданную в одной функции, другой Как я могу очистить содержимое веб-сайта на PHP с веб-сайта, для которого требуется вход в cookie? Привет, У меня есть запрос с базой данных Найти доступные (не загруженные) расширения PHP сохранение состояния флажка при перезагрузке Каков наилучший способ отправки массива JavaScript в PHP-скрипт с помощью GET? Ошибка анализа: синтаксическая ошибка, неожиданный '(', ожидающий ',' или ';' в Как отправить электронную почту в записках лотоса с помощью PHP Как получить доступ к члену stdClass в PHP, который начинается с @ Вызов неопределенного метода Illuminate \\ Database \\ Schema \\ Blueprint :: increments () WordPress 4.4+: фильтр wp_title не влияет на тег `<title>` Как отображать обычную цену и цену продажи на страницах одного продукта и цикла? Обработчики событий PHP-кликов Ошибка «Не удалось открыть поток: разрешение отказа» – Laravel

выполнение скрипта python из php под окнами

Хорошо, что это работает с моим Linux-сервером, но я тестирую свой веб-сайт дома на своем ПК и пытаюсь заставить php выполнить мой скрипт на языке python, и, конечно же, это WINDOWS, только путь изменяется, когда Im на моей Linux-машине.

$pyscript = 'C:\\wamp\\www\\testing\\scripts\\imageHandle.py'; $python = 'C:\\Python27\\python.exe'; $filePath = 'C:\\wamp\\www\\testing\\uploads\\thumbs\\10-05-2012-523.jpeg' exec('$python $pyscript $filePath', $output, $return ); 

это работает на моей Linux-машине, но не на моем сервере тестирования Windows. Как это сделать для окон? О, и это также работает при запуске непосредственно из командной строки в окнах

РЕДАКТИРОВАТЬ:

ЭТО РЕШЕНИЕ, как вы можете прочитать в ответ.

 $cmd = "$python $pyscript $filePath"; exec("$cmd", $output); 

работает как шарм. Изменены отдельные тики в два раза.

Related of "выполнение скрипта python из php под окнами"

Мне показалось странным, что filePath из C:\\wamp\\.... будет работать на машине Linux. Во всяком случае, вы пробовали НЕ избегать косых черт?

Эта проблема может быть связана с несколькими вещами, включая специфичные для ОС методы реализации различных функций выполнения программ. Я рекомендую просто переходить к различным параметрам, я всегда добавляю команду в одну переменную, а затем распечатываю переменную, чтобы я мог видеть, что я собираюсь запустить, если вы видели две слэши, тогда вы, возможно, знаете, что нет нужно попытаться избежать косой черты, однако, не печатая ее на экране, вы не знаете.

Попробуйте выполнить другие функции выполнения процесса, чтобы увидеть, что работает для вас. http://www.php.net/manual/en/ref.exec.php

Тот, который я нашел, работает MOST, как запуск его в командной строке, является оператором backtick, а затем – system

попробуйте что-то вроде этого.

 $pyscript = 'C:\\wamp\\www\\testing\\scripts\\imageHandle.py'; $python = 'C:\\Python27\\python.exe'; $filePath = 'C:\\wamp\\www\\testing\\uploads\\thumbs\\10-05-2012-523.jpeg' $cmd = "$python $pyscript $filePath"; echo $cmd; `$cmd` $pyscript = 'C:\wamp\www\testing\scripts\imageHandle.py'; $python = 'C:\Python27\python.exe'; $filePath = 'C:\wamp\www\testing\uploads\thumbs\10-05-2012-523.jpeg' $cmd = "$python $pyscript $filePath"; echo $cmd; `$cmd` 

EDIT: AHHH! Я просто понял это, вы окружаете свою команду одиночными клещами », что означает, что переменная внутри не заменяется. Вместо этого используйте двойные кавычки. Это решит проблему, но я все же рекомендую повторить команду перед ее запуском, чтобы вы увидели команду, которую вы выполняете, и вы сможете определить проблему, подобную этой.