Bạn có thể gọi một kịch bản PHP bằng tay từ dòng lệnh
hello.php
<?php
echo 'hello world!';
?>
Command line:
php hello.php
Output:
hello world!
Xem tài liệu: http://php.net/manual/en/features.commandline.php
EDIT OP edited các câu hỏi để thêm một chi tiết quan trọng: tập lệnh sẽ được thực thi bởi một tập lệnh khác.
Có một vài cách tiếp cận. Đầu tiên và dễ nhất, bạn có thể chỉ cần bao gồm các tập tin. Khi bạn bao gồm một tệp, mã bên trong được "thực hiện" (thực sự, được diễn giải). Bất kỳ mã nào không nằm trong một hàm hoặc lớp cơ thể sẽ được xử lý ngay lập tức. Hãy xem tài liệu cho include
(docs) và/hoặc require
(docs) (lưu ý: include_once
và require_once
có liên quan, nhưng khác nhau theo cách quan trọng. Hãy xem tài liệu để hiểu sự khác biệt) Mã của bạn sẽ trông như sau:
include('hello.php');
/* output
hello world!
*/
Thứ hai và hơi phức tạp hơn là sử dụng shell_exec
(docs). Với shell_exec
, bạn sẽ gọi tệp nhị phân php và chuyển đoạn mã mong muốn làm đối số. Mã của bạn sẽ trông giống như sau:
$output = shell_exec('php hello.php');
echo "<pre>$output</pre>";
/* output
hello world!
*/
Cuối cùng và phức tạp nhất, bạn có thể sử dụng thư viện CURL để gọi tệp như thể được yêu cầu qua trình duyệt.Kiểm tra các tài liệu thư viện CURL đây: 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!
*/
Tài liệu cho các chức năng sử dụng
Nguồn
2011-12-09 19:32:38
Chỉ cần chạy lệnh tương tự cron là? Hoặc chỉ cần 'php file.php'? –
Tại sao bạn không chỉ cần sao chép lệnh từ crontab và dán nó vào dòng lệnh? –
@Rocket Tôi muốn làm điều đó từ một tập tin php – domino