2012-05-27 146 views
0

可能重複:
PHP Profiler with method execution count, times etc. without extensionsPHP剖析與無服務器訪問

所以,我不能使用Xdebug的或其他的東西,需要安裝PECL擴展左右,我有隻能訪問FTP,所以我需要對我使用的函數進行一些測試,這是CodeIgniter的一項操作。

所以我查看了鉻與檢查員,我發現該頁面的響應時間爲22秒只爲後端(該操作中使用的PHP函數)沒有DOM的東西。

有誰知道一個好的工具?看看是什麼導致負載如此巨大。

+2

如果不放置服務器端(如xdebug)來分析應用程序,您將無法獲得太多。你沒有可以安裝xdebug/kcachegrind的開發機器嗎? –

+1

我之前問過這個問題:http://stackoverflow.com/questions/10315124/php-profiler-with-method-execution-count-times-etc-without-extensions –

+0

@cillosis是對的;你真的應該在你的本地機器上或者你有足夠權利的服務器上開展工作,以便安裝xDebug。 PHP,Apache和xDebug都是免費的,都可以安裝在Linux,Windows或Mac上,所以無論您的電腦運行的平臺如何,它都能夠運行您的PHP代碼並對其進行分析。另外請注意,配置文件可以生成一些嚴重的大文件 - 我以前已經看過它們幾百兆了 - 所以如果您爲帶寬付費,則不希望從遠程服務器下載這些文件。 – Spudley

回答

2

如果沒有實際的調試工具,echo可能是您唯一的調試工具。您可以在網站入口點的開始處添加$start_time = microtime(true),並且您可以在代碼的各個位置打印或登錄microtime(true) - $start_time以追蹤執行時間。

1

從文檔

$this->benchmark->mark('code_start'); 

// Some code happens here 

$this->benchmark->mark('code_end'); 

echo $this->benchmark->elapsed_time('code_start', 'code_end'); 

然而,這不會告訴你爲什麼你的模型/控制器加載速度慢,但你可以封裝來縮小問題的加載時間的任何請求。 IE:你對一個模型進行基準測試,並意識到這是做出4個查詢。

+0

他沒有說他沒有訪問它。他不能做比ftp更多的修改。 – Ahatius

+0

這使得沒有任何意義!如果你有訪問FTP,那麼你可以上傳/編輯/修改文件... – Philip

+0

嚴重的是,你在說什麼。我從來沒有說過你不能用FTP做這些事情。他只是沒有比他的瀏覽器和FTP更多的訪問方法。你的「PS」這句話沒有任何意義。 – Ahatius