Domanda

Sto giocando con un'applicazione weblog PHP usando un servizio di hosting condiviso, come parte del mio processo di apprendimento PHP. Il fornitore di servizi ha un tipico ambiente LAMP con accesso remoto a ssh.

Vim è stato il mio migliore amico nell'esplorazione del codice PHP. Tuttavia, a volte ho trovato difficile tracciare elementi nel codice in caso di errore. Ad esempio, a volte visito una pagina e ricevo una risposta vuota senza alcun messaggio di errore. Come devo fare per eseguire il debug di questo? Qualche strumento che ti sarà utile?

La mia esperienza è stata principalmente in C / C ++, Perl e alcune programmazioni CGI. Quindi PHP è un'esperienza molto rinfrescante con me :-)

Nel caso in cui sia importante, l'applicazione con cui sto giocando è Lyceum , e io no avere molta scelta sull'ambiente LAMP stesso.

EDIT: strumenti software gratuiti preferiti :-)

È stato utile?

Soluzione

Suppongo che il tuo provider di hosting abbia configurato la propria installazione PHP con display_errors disattivato, il che è positivo. Ecco perché vedi pagine vuote. Quindi la soluzione più pratica al momento sarebbe quella di avere un file .htaccess che lo accenda:

php_flag display_errors on

Dovresti anche error_reporting ad un valore appropriato:

php_flag error_reporting "E_ALL | E_STRICT"

Ricorda comunque di disattivarlo prima di consentire agli utenti di accedere al tuo sito web.

Per il debug anticipato raccomanderei Xdebug installato sul server con Eclipse PDT o IDE NetBeans con supporto PHP come editor. Entrambi sono buoni client per il debug, ma dubito davvero che qualsiasi provider installerebbe Xdebug sui propri server live. Quindi ti rimangono praticamente delle funzioni di registrazione se non hai un ambiente di sviluppo.

Altri suggerimenti

Ottenere l'accesso al proprio ambiente di sviluppo locale (tramite XAMPP, ad esempio) consentirebbe di installare XDebug.

PhpEd ti consente di eseguire il debug, ma anche l'ambiente PDT di Eclipse.

Errore Tracciare e registrare tramite la modifica del file ini config di php è un buon metodo, specialmente se riesci a gestirlo per registrare le informazioni. Inoltre, considera l'aggiunta di istruzioni trace e l'utilizzo di FirePHP, ad esempio.

Personalmente, consiglierei jEdit piuttosto che vim. Il plug-in SFTP ti consente di modificare (bene, caricare e salvare) i documenti PHP direttamente sul server e il plug-in PHPParser ti darà un riconoscimento degli errori.

Inoltre, se ricevi una pagina vuota senza messaggi di errore, è probabile che quei messaggi ti siano nascosti. Assicurati che la segnalazione errori sia abilitata, nella tua o nel tuo codice in questo modo:

// Report all PHP errors
error_reporting(E_ALL);

Se la segnalazione errori è abilitata e non vedi ancora alcun messaggio, abilita la registrazione o abilita output nel browser .

Se ottieni una pagina vuota, probabilmente è a causa di un errore fatale, con display_errors disattivato. Per impostazione predefinita, PHP registrerà gli errori nel log degli errori di Apaches, ma puoi anche configurarlo su registra gli errori in un registro separato .

Per il debug, potresti anche voler esaminare Xdebug. Questa estensione può fare molte cose, incluso il debug interattivo. Avrai bisogno di un client per usare il debugger, ma c'è un plugin per vim che lo fa.

Prova NuSphere PhpED

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top