2016-04-29 37 views
3

我使用Ubuntu與PHP 7當我用var_dump變量調試php時,它始終輸出文件路徑?

PHP 7.0.5-3+donate.sury.org~xenial+1 (cli) (NTS) 
Copyright (c) 1997-2016 The PHP Group 
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies 
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies 
    with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans 

當調試使用var_dump一個PHP腳本來顯示一些變量:

<?php 
var_dump('tmp string'); 
var_dump(true); 

下面是它的輸出:

/var/www/example.com/test.php:3:string 'tmp string' (length=10) 
/var/www/example.com/test.php:4:boolean true 

爲什麼總是在文件路徑之前輸出?

我希望它輸出象下面這樣:

string 'tmp string' (length=10) 
boolean true 
+0

爲什麼你希望它不顯示文件的路徑? –

+0

這是很好的功能:)你爲什麼要刪除它們? – Akairis

+0

是的,但是當我調試它時,它會佔用額外的地方 –

回答

-1

看來您已啓用Xdebug的。 你可以從你的php.ini文件禁用它 在php.ini中查找的Xdebug與

xdebug.remote_autostart=0 
xdebug.remote_enable=0 
xdebug.profiler_enable=0 
8

你看到的輸出是從Xdebug擴展替換它。 (不包括擴展名,var_dump輸出純的無格式文本。)

從Xdebug的2.3,設定xdebug.overload_var_dump具有2新的缺省值,它從到var_dump任何呼叫添加文件名和行號到輸出。見the docs for more info。我同意這不是很有用,特別是對於簡單的輸出如短字符串/數字。

要刪除的文件名,你可以在你的php.ini文件中設置選項的1舊值:

[xdebug] 
xdebug.overload_var_dump = 1 
+0

我試過這在php.ini文件,但沒有工作,所以我最終使用'ini_set(「xdebug.overload_var_dump」,1);'而不是 – Val

+0

@Val是否在php.ini中進行更改後重新啓動/重新加載服務器? –

相關問題