2012-05-11 11 views
1

xdebugを学びたいと思っています。Xdebugがファイルに書き込まない

<?php 

echo "This"; 

xdebug_start_trace('/home/dotancohen/xdebug'); 
echo "That"; 
xdebug_stop_trace(); 

?> 

マイ/home/dotancohen/ディレクトリはパーミッション711で、~/xdebugファイルは、ファイルが書き込まれていない、しかし、777権限:私は次のスクリプトを持っています。 PHPスクリプトには何のエラーも投げられず、xdebug行を無視して正確に機能します。

なぜファイルを書き込めませんか?

EDIT: これらは、php.iniのからXdebugの設定行です:

extension=ssh2.so 
;extension=xdebug.so 
zend_extension="/usr/lib64/php/modules/xdebug.so" 
extension=mongo.so 
extension=memcache.so 
+0

あなたのPHPエラーログファイルを確認しましたか? – adrien

+0

@adrien:はい、そこには何もありません。 – dotancohen

答えて

2

それは、この行ことが判明:

xdebug_start_trace('/home/dotancohen/xdebug'); 

このファイルへの書き込み:

したがって
/home/dotancohen/xdebug.xt 

touch 777問題を解決することをINGの~/xdebug.xtchmodをする。

1

が、それはあなたのディレクトリおよび/またはスクリプトが好きではないファイルだかどうかを確認するために、パラメータなしxdebug_start_traceを呼び出そう:P xdebug.trace_output_dirによって構成されたとして、それは現在のディレクトリにファイルを作成しますパラメータなし

+0

実際、xdebugは/ tmp(デフォルトディレクトリ)に書き込みを行います。なぜ私のユーザーの家に書いていないのでしょうか?私はパーミッションを仮定しますが、適切に設定されているように見えます。 – dotancohen

+0

スクリプトディレクトリにいるときは、 "cd/home/dotancohen/xdebug"コマンドが機能しますか? –

+0

ファイルであるため、 'Not a directory'と文句を言う! UNIXのコンベンションでは、 '/' aディレクトリで終わるものを呼び出し、ファイルではないものを呼び出すことができます(はい、UNIXではすべてがファイルです)。私はちょうど 'xdebug_start_trace( '/ tmp/xdebug-special');'を使って試してみたところで、期待されるファイルに_does_書き込みするので、おそらく許可の問題です。 – dotancohen

関連する問題