Vous pouvez appeler un script PHP manuellement à partir de la ligne de commande
hello.php
<?php
echo 'hello world!';
?>
Command line:
php hello.php
Output:
hello world!
Voir la documentation: http://php.net/manual/en/features.commandline.php
EDIT OP modifié la question d'ajouter un détail critique: le script doit être exécuté par un autre script.
Il existe plusieurs approches. Premier et le plus simple, vous pouvez simplement inclure le fichier. Lorsque vous incluez un fichier, le code à l'intérieur est "exécuté" (en fait, interprété). Tout code qui n'est pas dans une fonction ou un corps de classe sera traité immédiatement. Jetez un oeil à la documentation pour include
(docs) et/ou require
(docs) (note: include_once
et require_once
sont liés, mais différents d'une manière importante.Examinez les documents pour comprendre la différence) Votre code devrait ressembler à ceci:
include('hello.php');
/* output
hello world!
*/
deuxième et un peu plus complexe est d'utiliser shell_exec
(docs). Avec shell_exec
, vous appelez le binaire php et transmettez le script souhaité comme argument. Votre code ressemblerait à ceci:
$output = shell_exec('php hello.php');
echo "<pre>$output</pre>";
/* output
hello world!
*/
Enfin, et le plus complexe, vous pouvez utiliser la bibliothèque CURL pour appeler le fichier comme si il a été demandé par l'intermédiaire d'un navigateur.Consultez la documentation de la bibliothèque CURL ici: 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!
*/
Documentation pour les fonctions utilisées
Ou juste faire 'php file.php'? –
Pourquoi ne copiez-vous pas simplement la commande à partir de la crontab et la collez dans la ligne de commande? –
@Rocket Je veux le faire à partir d'un fichier php – domino