linux — выполнить скрипт php в работающем скрипте php

Я пытаюсь выполнить скрипт php из файла php, но кажется, что я не могу получить правильный путь к файлу php.exe. Насколько я могу судить, ничего не делать. Предположим, что service-oauth.php — это простое эхо.

EDIT3:
Я исправил это используя php-cli вместо php или путь php bin, я должен признать, что я пробовал это раньше, но кажется, что-то еще было отключено, когда я попробовал это (одна из первых вещей, которые я попробовал). Ответ, предоставленный Китом в Не могу выполнить скрипт PHP, используя PHP exec , так что это оказалось дубликатом: S, спасибо за помощь тем, кто прокомментировал.

EDIT2:
Я попытался вызвать сценарий непосредственно из консоли сервера, как предложено @Dagon, и он работает, используя как переменную php env, так и путь php к корзине, ясно, что путь правильный, но что-то предупреждает получение или вывод запустить скрипт используя функцию php exec ()

сервис-oauth.php

<?php echo "Hello there"; ?>

И это мой сценарий:

   $basePath =  plugin_dir_path( __FILE__ ); # WordPress function, asume it works.
$fileToExc = $basePath . 'service-oauth.php';
# PHP_BINDIR: /usr/local/bin
# PHP_BINARY: /usr/bin/php
# exec("which php") /usr/bin/php
$phpPath = exec("which php");
$output = exec("$phpPath $fileToExc");
print_r($output);

Существует множество ответов на stackoverflow, которые рекомендуют любой из этих 3 вариантов, которые я начал в коде, но ни один из них, похоже, не работает, не уверен, что это не тот путь или что-то еще. Я протестировал этот скрипт на моей локальной машине (Windows), и он работает (хотя мне пришлось использовать жестко закодированный путь к корзине, поскольку я не могу получить правильный путь), но я тестирую на своем производственном сервере (Linux) ) и не работает.

Замечания: Позвольте мне быть ясно, что это не дубликат, Я попробовал следующие ответы в этих и многих других постах, но у меня это не получилось:

Как получить путь к бинарному файлу php на сервере, где он находится

Не могу выполнить скрипт PHP, используя PHP exec

PHP exec для запуска файла

Как вызвать сценарий оболочки из другого сценария оболочки?

Выполнить скрипт PHP из другого скрипта PHP

Я также пытался использовать .exe в конце бинарного файла (windows localmachine), используя php-cli вместо php, и я проверил функцию excc, и она работает, но не в этом случае. Также попробовал с шебангом в вызываемом скрипте.
Вероятно, это что-то простое, о чем я не знаю, но я тратил много часов на поиск и тестирование, и пока ничего. Любая помощь приветствуется.

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

Использование scandir в папке bin показывает
ScanDir ( «/ USR / бен /»)

Array(
...
[632] => php
[633] => php-cgi
[634] => php-cli
...
)

Проверено, если в безопасном режиме используется ini_get (‘safe_mode’), но, похоже, отключено.

0

Решение

Я исправил это используя php-cli вместо php или путь php bin, я должен признать, что я пробовал это раньше, но кажется, что-то еще было отключено, когда я попробовал это (одна из первых вещей, которые я попробовал). Ответ, предоставленный Китом в Не могу выполнить скрипт PHP, используя PHP exec , так что это оказалось дубликатом: S, спасибо за помощь тем, кто прокомментировал. — заген

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]