便携式PHP调试

时间:2012-04-12 03:40:43

标签: php netbeans xampp xdebug portable-applications

我正在使用XAMPP Lite进行USB驱动。我还发现了功能齐全的Netbeans便携版。

问题是因为路径问题我无法安装XDebug。对于前者在我的本地PC服务器PHP.ini配置文件看起来像

[zend]
zend_extension = "C:\Program Files (x86)\PHP\ext\php_xdebug.dll"
xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.profiler_enable = On 
xdebug.profiler_output_dir = C:\Windows\temp 
xdebug.dump_globals=On 
xdebug.show_exception_trace=On 
xdebug.collect_params=4 

如你所见,所有路径都是绝对的;我的意思是驱动器号。但我不能写USB闪存驱动器的绝对路径。

我的问题是:

  1. 有没有办法在USB闪存盘上使用Xammp Lite工作xDebug?
  2. 任何可移植的替代调试器?

2 个答案:

答案 0 :(得分:1)

您最好的选择可能是使用一个小批量脚本,以便在Windows中加载时自动始终分配相同的驱动器号。你可以从USB驱动器本身自动运行 - 这样它就完全可以移植了。

您的脚本应如下所示:

@echo off

set NewLetter=X

@REM Find the (USB) drive with the flagfile "USB.root" and change its drive letter to "%NewLetter%"

@REM Abort if %NewLetter% already exist
if exist %NewLetter%: goto END_USB_DRIVE

if not exist "%SystemRoot%\System32\DISKPART.EXE" goto END_USB_DRIVE

@REM Find the drive with the flag file and set %_USBroot% to the old letter
for %%i in (c d e f g h i j k l m n o p q r s t u v w y z) do (
if exist %%i:\USB.root set _USBroot=%%i:
)
@REM Abort if no Drive with the flag file has been found
if "%_USBroot%" == "" goto END_USB_DRIVE

@REM Create the script file for DiskPart.exe on the USB-drive
echo select volume %_USBroot<> "%_USBroot%\ChangeDrvLetter.txt"
echo assign letter=%NewLetter<>> "%_USBroot%\ChangeDrvLetter.txt"

@REM Do the change -> %NewLetter%
DISKPART /S "%_USBroot%\ChangeDrvLetter.txt"
if exist "%NewLetter%:\ChangeDrvLetter.txt" del "%NewLetter%:\ChangeDrvLetter.txt"

:END_USB_DRIVE

以上示例已从此处解除 - 您还会在其中找到其他几个示例:http://www.techrepublic.com/forum/questions/101-220894/force-thumb-drive-or-flash-drive-to-same-drive-letter-each-time

答案 1 :(得分:0)

相对路径未解决您的问题吗?

  

zend_extension =“\ PHP \ ext \ php_xdebug.dll”

     

xdebug.profiler_output_dir = \ temp