簡體   English   中英

重定向PHP-Shell-Script輸出

[英]Redirect PHP-Shell-Script output

我有一個php-script foo.php

#!/usr/bin/php -c /etc/php5/cli/php.ini -q
<?php
  echo 'hello'; // & do some stuff
?>

我稱該腳本不是由sh腳本包裝的,而是直接在cron作業中使用。 為了擺脫它的輸出,我通常會創建一個sh文件,該文件調用

/usr/bin/php -c /etc/php5/cli/php.ini -q foo.php > /dev/null 2 > /dev/null 

現在我想在php文件的解釋器聲明中自行執行此操作...所以我正在尋找以下語法:

#!/usr/bin/php -args [file's content] > /redirect 2 > /redirect

我在搜尋它方面有些困難...因此,如果有人可以指出我正確的方向,我將非常感激!

提前Thx

Corelgott

shebang語句從未打算用來控制腳本的輸出,更多的是使用此程序來執行此類型交易下面的內容,因此您無法選擇所需的內容。

除非解釋器本身具有輸出參數(php cli沒有輸出參數),否則您將需要在crontab行中保留> /dev/null語句。

您還可以修改腳本以使全局boolean $output圍繞所有print語句和if語句,並將其包含在文件頂部。

就像@Victor Stanciu所說的那樣,您可以直接在cron job命令中重定向輸出,但是我能想到的唯一其他方法是:

php -r "ob_start(); include 'my_script'; ob_end_clean();"

我認為您可以使用fclose(STDOUT)關閉stdout,但是顯然常量STDINSTDOUTSTDERR不再存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM