mod_rewrite, xdebug, PDT, XAMPP ve Windows XP ile yol sorunu

1 Cevap php

Benim mod_rewrite hesaplar oluşturmak / = index.php? Klasör = hesaplar ve eylem içine oluşturmak döner, ama pdt bunu yok sayar, bu yüzden ben bir PHP Script hata ayıklama oturumu başlatmak çalıştığınızda, ben bir klasör dosya alanındaki konumunu ve pdt doesn yazmak zorunda 't kabul.

PDT oto PHP Web Sayfası ayıklama oturumu için bir URL oluşturur, ben http://localhost/myframe/index.php?XDEBUG%5FSESSION%5FSTART=ECLIPSE%5FDBGP&KEY=12569067976875 gitmek, ama çerçeveler klasöründe myframe, yani bir 404 hatası alıyorum.

Ben bir kesme kontrol yaparken, Otomatik Oluştur işaretini kaldırın URL myframe önce çerçeveler eklemek, http://localhost/frameworks/myframe/accounts/create Gelişmiş ayarlanır Başlat hata ayıklama ve Debug 'ı tıklatın, hata ayıklayıcı kesme noktasında durmuyor.

GÜNCELLEME

Mod_rewrite olmadan PHP Web Sayfası olarak ayıklama çalışmaktadır. Mod_rewrite ile PHP Web Sayfası Olarak ayıklama çalışmıyor. Ben aşağıdaki yapılandırmayı kullanıyorum.

php.ini:
    zend_extension = "\xampp\php\ext\php_xdebug.dll"
    xdebug.idekey=ECLIPSE_XDEBUG
    xdebug.profiler_enable=1
    xdebug.remote_enable=1
    xdebug.remote_handler="dbgp"
    xdebug.remote_host="localhost"
    xdebug.remote_mode="req"
    xdebug.remote_port=9000

Start ->
    Control Panel ->
        Firewall ->
            Exceptions ->
                Add Port ->
                    Name:
                    XDebug

                    Port number:
                    9000

Window ->
    Preferences ->
        PHP ->
            Debug ->
                PHP Debugger:
                XDebug

                Server:
                localhost

                PHP Executables:
                C:\xampp\php\php-cgi.exe

Debug Configurations ->
    MyFrame Web Page ->
        Server ->
            PHP Server ->
                Configure ->
                    Server ->
                        Name:
                        localhost

                        Enter the URL that points to the document root of this server:
                        http://localhost/frameworks

                        Path Mapping ->
                            (serverpath) http://localhost/frameworks/myframe/index.php
                            to
                            (filesystem) C:\xampp\htdocs\frameworks\myframe\index.php

                            (serverpath) http://localhost/frameworks/myframe/index.php
                            to
                            (workspace) /myframe/index.php

            File:
            /myframe/index.php

            URL:
            http://localhost/ by the left
            frameworks/myframe/index.php by the right

        Advanced ->
            (checked) Open in Browser
            (checked) Debug All Pages


.htaccess:

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^([^/]*)/?([^/]*)/?([^/]*)$ index.php?folder=$1&action=$2&params=$3 [L]
</IfModule>

1 Cevap

Eclipse PDT önce bu sorun hakkında duydum. Bu noktada ben hata ayıklayıcı içinde bir hata eminim? . Ben bunu size htaccess dosyasına bu eklemeyi deneyebilirsiniz yardımcı olacak düşünüyorsanız XDebug Ancak, ya .. suçlu olduğunu sanmıyorum:

php_flag xdebug.profiler_enable 1
php_value xdebug.profiler_output_dir /path/to/output_idr
php_value xdebug.profiler_output_name cachegrind.out.%t.%p

Bu şekilde en azından XDebug URL'ye değişken GET eklemek zorunda değil edeceğiz.

Eğer elle oluşturmak Eğer mod_rewrite istediğiniz URL yazarak ve oradan hata ayıklayıcı yürütme denediniz mi? Eğer henüz varsa ki sonraki adım olmalıdır. İyi şanslar!