讓php.exe也能傳遞引數
在專案中使用到windows的定時任務來執行php,但是發現配合ci,卻找不到方法來傳遞uri引數,手動$_SERVER["REQUEST_URI"]可以瀏覽器中正常執行.但是放到cmd下面的php.exe來執行時,卻發現引數在另一個數組中.簡單的方法就是改uri的獲取方式了.加上cmd的情況下的提取
-------------
在命令列中呼叫
>php.exe cmd.php
-------
cmd.php
雖然設定了
$_SERVER["REQUEST_URI"] = 'home/email/queue/' .$maxLetters. '/' .$sleep;
但是在cmd php.exe中除錯打印出$_SERVER,竟然無此引數,引數自動跑到argc的陣列下面去.
沒辦法只能改core中的程式碼了.
--------
<?php
$maxLetters = 10;//執行一次傳送件數
$sleep = 20; //如果相同dns暫停秒後再發送,可以設定0,然後啟用smtp中的間隔時間
$_SERVER["REQUEST_URI"] = 'home/email/queue/' .$maxLetters. '/' .$sleep;
phpinfo();
include('index.php');
----------
修改core/uri.php中的
增加
empty($uri) && isset($_SERVER["argc"]) && (!empty($_SERVER["argc"]['REQUEST_URI'])) && ($uri = $_SERVER["argc"]['REQUEST_URI']);//qidizi增加,讓cmd php.exe也支援此引數
/**
* Get the URI String
*
* @access private
* @return string
*/
function _fetch_uri_string()
{
if (strtoupper($this->config->item('uri_protocol')) == 'AUTO')
{
// Is the request coming from the command line?
if (defined('STDIN'))
{
$this->_set_uri_string($this->_parse_cli_args());
return;
}
// Let's try the REQUEST_URI first, this will work in most situations
if ($uri = $this->_detect_uri())
{
$this->_set_uri_string($uri);
return;
}
// Is there a PATH_INFO variable?
// Note: some servers seem to have trouble with getenv() so we'll test it two ways
$path = (isset($_SERVER['PATH_INFO'])) ? $_SERVER['PATH_INFO'] : @getenv('PATH_INFO');
if (trim($path, '/') != '' && $path != "/".SELF)
{
$this->_set_uri_string($path);
return;
}
// No PATH_INFO?... What about QUERY_STRING?
$path = (isset($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : @getenv('QUERY_STRING');
if (trim($path, '/') != '')
{
$this->_set_uri_string($path);
return;
}
// As a last ditch effort lets try using the $_GET array
if (is_array($_GET) && count($_GET) == 1 && trim(key($_GET), '/') != '')
{
$this->_set_uri_string(key($_GET));
return;
}
// We've exhausted all our options...
$this->uri_string = '';
return;
}
$uri = strtoupper($this->config->item('uri_protocol'));
if ($uri == 'REQUEST_URI')
{
$uri = $this->_detect_uri();
empty($uri) && isset($_SERVER["argc"]) && (!empty($_SERVER["argc"]['REQUEST_URI'])) && ($uri = $_SERVER["argc"]['REQUEST_URI']);//qidizi增加,讓cmd php.exe也支援此引數
$this->_set_uri_string($uri);
return;
}
elseif ($uri == 'CLI')
{
$this->_set_uri_string($this->_parse_cli_args());
return;
}
$path = (isset($_SERVER[$uri])) ? $_SERVER[$uri] : @getenv($uri);
$this->_set_uri_string($path);
}
相關推薦
讓php.exe也能傳遞引數
在專案中使用到windows的定時任務來執行php,但是發現配合ci,卻找不到方法來傳遞uri引數,手動$_SERVER["REQUEST_URI"]可以瀏覽器中正常執行.但是放到cmd下面的php.exe來執行時,卻發現引數在另一個數組中.簡單的方法就是改uri的獲取方式了.加上cmd的情況下的提取---
java啟動exe程式,傳遞引數和獲取引數
1、java中啟動exe程式 ,並新增傳參 String[] cmd = {"hh.exe","12315"}; Process process = null; try { ProcessBuilder pb =
WPF 利用Process.Start()方法啟動指定路徑下的exe檔案並傳遞引數
簡單來說就是實現一個程式A 開啟程式B,並且在開啟的時候傳遞一些引數給B,最後在B視窗上顯示出引數,這個小功能也是折騰了我半天。現在把我的過程整理記錄下來。 1.首先我們得有一個被呼叫的程式,新建一個簡單的WPF程式,命名為:argTest。裡面加一個label,用來顯示接
命令列執行PHP檔案時如何傳遞引數?
Get,post,request可以接收到請求資料,如何在命令列執行php時,獲得傳遞到php指令碼的資料呢?在命令列下傳遞資料時已經沒有了Get和Post的概念,在指令碼內,使用$argc, $ar
shell呼叫php指令碼,並傳遞引數
命令列執行帶引數的php指令碼,並取得引數 發表於 2011-07-15 分類目錄: php 一,為什麼我們要在命令列下執行php指令碼呢? 個人理解,主要有二個原因: 1,利用crontab去跑php,可以給伺服器減壓,當然在這裡有一個條件,就是實時性要求
javascript呼叫exe程式(windows)傳遞引數
http://q.cnblogs.com/q/13371/<input type="button" value=" 登 錄 " onclick="exec('C:\\Activesoft\\ActiveMessenger\\AMsger.exe')"/>我的exe
讓你的PHP也能執行JS並獲得JS函式的返回值
關於這個功能,我找了很久了,是因為在做某個功能介面時,由於對方在請求資料前對請求的引數進行了加密,導致了無法通過程式模擬提交資料,因此需要想辦法提前處理這個引數然後再提交。 下面直接看實現過程: $jsData = file_get_conten
用免費自助建站,自己也能制作一個讓別人仰望的網站
自助建站 自己做網站 網站建設 網站制作 網站制作只是網站建設中的一步,網站制作完之後還要其他的維護工作。那麽,企業是如何通過凡科進行自助建站呢?怎樣才能建一個成功的站呢? 在網絡信息發達的今天,網上不乏各種建站教程和攻略,建站新手面對如此多樣的教程感到更迷惑了,各種方法都有各自的道理,
最強自定義PHP集成環境,系統缺失dll和vc也能正常運行
缺少 免費 alt 系統 演示 php環境 com 解決 解決方案 PHPWAMP支持iis、apache、nginx等web服務器,並全部支持php多版本同時運行,無限自定義mysql、php PHPWAMP支持32和64,支持自定義自動匹配系統所需dll和vc,純綠化無
什麽?php也能做爬蟲?
wrapper gem 如果 key pro jquery 計算器 discuss login php爬蟲代碼(爬去我的OJ題庫為例) <?php for ($i=1000;;$i++){ $url = "http://localhost/JudgeOnline/p
私服也能成為創意源泉?遊戲這個腦洞開的讓人驚訝
私服 創意 源泉 必須正視私服的危害。用數據說話會更加直觀。2010年新浪遊戲曾經采訪過武漢一個由私服起家、轉正做自研遊戲的遊戲人高翔,他給出了一個自己的切身感受:“私服中的玩家才是最忠誠的玩家,他們的ARPU值非常高。以常見的《傳奇》私服為例,多數都是超越了《傳奇》官服的,玩家月消費值差不多都在
織夢讓編輯文檔也能自動更新主頁和列表頁
每次 archive 時也 arch 主頁 有時 它的 找到 lin 織夢後臺只能開啟發布後更新主頁,列表,和上下頁。有時候我們需要在編輯時也能更新想要的,這樣不用每次去生成。 打開 /dede/archives_edit.php 找到 $wintitle 在它的上面加入
VirtualXposed,讓你無需Root也能使用Xposed框架!
ofo 高級 tac containe spa 性問題 常用 便是 span VirtualXposed 是基於VirtualApp 和 epic 在非ROOT環境下運行Xposed模塊的實現(支持5.0~8.1)。一直以來Xposed框架最大的入門難度就在於設備需要Roo
蘋果App,不用上傳蘋果商店,如何讓其他人也能安裝?
轉載自: https://www.oschina.net/question/2376332_237742 1 WeX5移動開發雲 2015/05/28 11:46 謝謝關注!挪到部落格裡去了。原文:http://my.oschina.net/wex5/blog/
讓mongoDB也能使用in查詢,提高查詢速度
mongoDB使用in查詢 在mongoDB查詢,是在springboot中使用的mongoDB,結合業務需求,需要查詢多個ID的記錄,改寫了mongoDB的查詢方法,讓其實現了像MySQL中in查詢
AppInventor讓不會程式設計的小白也能製作app
本帖最後由 gzftcoex 於 2010-10-16 06:51 編輯 本人小白一枚,程式設計啥的全不懂,更不用說這語言那語言的了,但是生命在於折騰,我也製作自己的app了 之前在CB看到google為了能讓更多的人給自己的Android裝置開發軟體,開發了AppInventor,讓不懂程式設計的人也可
PHP也能實現區塊鏈?
引言 什麼是區塊鏈?官方的解釋是:區塊鏈是一個分散式記賬系統,是藉用密碼學串接並保護其內容的串連交易記錄(又稱區塊)。每一個區塊包含了前一個區塊的加密雜湊、對應的時間戳記以及交易資料(通常用默克爾樹演算法計算的雜湊值表示),這樣的設計使得區塊內容具有難以被篡改的特性。用區塊鏈所串接的分散
讓你在ManjaroLinux下也能只用你喜歡的中文輸入法
讓你在ManjaroLinux下也能用你喜歡的中文輸入法 Linux下沒有中文輸入法,寫程式碼註釋是比較麻煩的事情 我被同學從UbuntuMATE拖入了ManjaroLinux的坑,作為一個有點基礎的萌新,我還是要把折騰出來比較正確的方法告訴大家,畢竟在網上看到的能完全節省就你大把時間的正確教程
2019春運搶票終極攻略,讓你躺著也能搶到票回家!
1.需要準備的東西 a.資料:一張銀行卡(擼15天伺服器使用),一個12306賬號,郵箱POP3/SMTP服務金鑰 b.伺服器:阿里,華為,騰訊,金山等等雲伺服器廠商都有15天新人免費一臺伺服器,大膽的擼吧!! c.軟體:分流 d.額外支出項:1-5元若快打碼充值或者20元支援分流作者,如果是隻搶自己
不用安裝Pycharm也能讓你的Python IDLE變得高大上
你的PythonIDLE還是這樣的介面麼? 那你就OUT了,現在的IDLE都是這樣的了 深邃的黑色背景還有強大的語法高亮,小編帶你感受心的Python,下面跟著小編一步一步走;本篇文章主要講解的是Windows系統下的,Linux下的會在後期文章中繼續發出 更多P