Ответ 1
Вы можете вызвать PHP script вручную из командной строки
hello.php
<?php
echo 'hello world!';
?>
Command line:
php hello.php
Output:
hello world!
См. документацию: http://php.net/manual/en/features.commandline.php
EDIT OP отредактировал вопрос, чтобы добавить критическую деталь: script должен быть выполнен другим script.
Существует несколько подходов. Сначала и проще всего, вы можете просто включить файл. Когда вы включаете файл, код внутри "выполняется" (фактически, интерпретируется). Любой код, который не находится внутри функции или тела класса, будет обработан немедленно. Взгляните на документацию для include
(docs) и/или require
(docs) (примечание: include_once
и require_once
связаны друг с другом, но различны по-важному. Посмотрите документы, чтобы понять разницу). Ваш код будет выглядеть следующим образом:
include('hello.php');
/* output
hello world!
*/
Вторым и немного более сложным является использование shell_exec
(docs). С помощью shell_exec
вы вызовете двоичный код php и передадите искомый script в качестве аргумента. Ваш код будет выглядеть так:
$output = shell_exec('php hello.php');
echo "<pre>$output</pre>";
/* output
hello world!
*/
Наконец, и самое сложное, вы можете использовать библиотеку CURL для вызова файла, как если бы он запрашивался через браузер. Ознакомьтесь с документацией библиотеки CURL здесь: http://us2.php.net/manual/en/ref.curl.php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.myDomain.com/hello.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true)
$output = curl_exec($ch);
curl_close($ch);
echo "<pre>$output</pre>";
/* output
hello world!
*/
Документация для используемых функций
- Командная строка: http://php.net/manual/en/features.commandline.php
-
include
: http://us2.php.net/manual/en/function.include.php -
require
: http://us2.php.net/manual/en/function.require.php -
shell_exec
: http://us2.php.net/manual/en/function.shell-exec.php -
curl_init
: http://us2.php.net/manual/en/function.curl-init.php -
curl_setopt
: http://us2.php.net/manual/en/function.curl-setopt.php -
curl_exec
: http://us2.php.net/manual/en/function.curl-exec.php -
curl_close
: http://us2.php.net/manual/en/function.curl-close.php