PHP явный вызов версии Python - PullRequest
0 голосов
/ 11 ноября 2018

Мой сайт размещен на Godaddy, на нём установлен python 2.6. Я понял, что не могу установить пакеты Python с собственным Python, поэтому я установил Python 2.7 в home. Я в состоянии SSH и запустить 2.7 просто отлично, используя python (я установил PATH, кажется, правильно). Кроме того, когда я запускаю python -V, я получаю Python 2.7.11.

Когда я пытаюсь выполнить скрипт в PHP-скрипте через пользовательский плагин, он продолжает пытаться запустить 2.6. Я попытался изменить shebang, но я получаю разрешение или неверные ошибки каталога. 2.7 ниже public_html/python/bin.

Как мне заставить PHP использовать 2.7?

Я использую этот бит PHP для вызова сценария, который я нашел в другом ответе.

      echo "<script> function(); </script>";
      $data = shortcode_atts(
          [
              'file' => 'predict.py'
          ],
          $attributes
      );

      $handle = popen( __DIR__ . '/' . $data['file'] . ' 2>&1', 'r' );
      $read = '';

      while ( ! feof( $handle ) )
      {
          $read .= fread( $handle, 2096 );
      }

      pclose( $handle );

      return $read;

EDIT: Я хочу отметить, что я использую Wordpress, и для ясности, в SSH я изменил значение по умолчанию python с 2,6 на 2,7 и даже установил python3 и могу нормально вызывать его, используя python3. PHP-скрипт в плагине Wordpress не знает, что эти питоны существуют, я предполагаю, что они доступны только моей учетной записи SSH?

1 Ответ

0 голосов
/ 14 ноября 2018

Проблема, с которой я столкнулся, заключалась в том, что сервер не будет запускать ничего, кроме Python 2.6. Я справился с этим, используя SSH2 для запуска команд оболочки из PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...