Сценарий Python не найден на сервере - PullRequest
0 голосов
/ 01 июля 2019

Я работаю над плагином Wordpress, встраивающим скрипт Python.Я загрузил скрипт Python на свой сервер, и сначала я получил сообщение об ошибке на веб-странице, где мой скрипт должен быть запущен, с сообщением «разрешение отклонено» (я перенаправил stderr в stdout, чтобы я смог увидеть ошибкуСообщения).Когда я добавил разрешения на выполнение, я вместо этого получаю сообщение «not found» (сделано через Filezilla).

Я вижу, что скрипт находится на сервере в правильной папке, и, очевидно, он был обнаружен ранее, когда разрешения былинеправильно.Как я могу заставить свой плагин найти файл Python?

Вот соответствующая функция PHP в плагине:

function embed_python( $attributes )
{
    $data = shortcode_atts(
        [
            'file' => 'hello.py'
        ],
        $attributes
    );

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

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

    pclose( $handle );

    return $read;
}

1 Ответ

0 голосов
/ 01 июля 2019

Оказалось, что это было так же просто, как серверу, который я использовал (Loopia), требовался скрипт Python в определенной папке, чтобы его можно было найти / запустить, а также изменились несколько настроек, см. Эту шведскую страницу: https://support.loopia.se/wiki/python/.

...