Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    PHP come modulo di Apache

    Seguendo la guida (Guida PHP su Windows - http://php.html.it/guide/leggi/94/guida-php-su-windows/ ) pubblicata su questo sito sono arrivato alla lezione in cui viene spiegato come integrare PHP nel web server Apache (Lezione 7: Integrazione di Php come modulo di Apache - http://php.html.it/guide/lezione/255...ulo-di-apache/ ). Premettendo che io ho installato Apache 2.2.3 e PHP 5.2.0 su sistema Win XP Pro, devo far notare che dopo aver fatto il cambiamento illustrato nella guida al file httpd.conf il web server non si riavvia più! Il cambiamento incriminato è il seguente:

    # Start Php integration
    LoadModule php5_module "c:/php/php5apache2.dll"
    AddType application/x-httpd-php .php
    PhpIniDir "C:/php"
    # End Php integration

    Se infatti commento interamente queste linee di configurazione appena aggiunte Apache riparte. L'errore mostrato da shell di dos consta nel fatto che apache dice di non trovare il file php5apache2.dll. Premettendo che il file c'è al 100% ho notato che nel path sono presenti le slash stile unix invece delle backslash tipiche di win, però pur modificando, l'errore persiste. Inoltre anche se metto la backslash \ nel messaggio continua a presentare il path con le slash / come nel codice sopra (e sono sicuro ovviamente di modificare il file giusto!). Cosa pensare? Non so più cosa fare....
    Il mondo è diviso in 10 gruppi di persone... chi capisce il binario e chi no!

    http://www.pratesi.net

  2. #2
    LoadModule php5_module "c:/php/php5apache2_2.dll"

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    595
    dove hai installato php?

  4. #4
    Allora, con il nuovo riferimento alla dll php5apache2_2.dll adesso parte! Ovviamente dovevo intuire che la guida è stata fatta probabilmente prima di Apache 2.2 e l'autore giustamente faceva riferimento alla dll della versione precedente. Mi rimane sempre un dubbio che, probabilmente, sarà cosa nota ai più: come mai i path vengono inseriti nei file di configurazione con la slash?

    Ho installato php esattamente come dice di fare la guida citata, ovvero in C:\php senza copiare nessun file nelle directory di sistema di windows.

    Grazie Fabio
    Il mondo è diviso in 10 gruppi di persone... chi capisce il binario e chi no!

    http://www.pratesi.net

  5. #5
    Originariamente inviato da Felixfree
    Allora, con il nuovo riferimento alla dll php5apache2_2.dll adesso parte! Ovviamente dovevo intuire che la guida è stata fatta probabilmente prima di Apache 2.2 e l'autore giustamente faceva riferimento alla dll della versione precedente. Mi rimane sempre un dubbio che, probabilmente, sarà cosa nota ai più: come mai i path vengono inseriti nei file di configurazione con la slash?

    Ho installato php esattamente come dice di fare la guida citata, ovvero in C:\php senza copiare nessun file nelle directory di sistema di windows.

    Grazie Fabio
    apache vuole gli slash oppure il doppio backslash.

    come giustamente hai intuito la guida si riferisce alla versione 2.0.55 di apache "come e' chiaramente indicato"....

    http://php.html.it/guide/lezione/254...server-apache/



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Ok... quindi nel caso del doppio backslaah il primo serve per fare l'escape del secondo se ho capito il concetto!

    Grazie
    Il mondo è diviso in 10 gruppi di persone... chi capisce il binario e chi no!

    http://www.pratesi.net

  7. #7
    A questo punto l'ultima curiosità: abbiamo detto che Apache, tramite il suo file di configurazione, vuole per i path la slash o la doppia backslash. La stessa cosa vale per il file di configurazione php.ini del PHP? Ho visto che anche lì vengono scritti i path in questa forma (esempio):

    ; Directory in which the loadable extensions (modules) reside.
    extension_dir = "C:/php/ext"

    Però ho anche trovato delle linee di configurazione commentate che paiono offrire una scelta in riguardo:

    ; UNIX: "/path1:/path2"
    ;include_path = ".:/php/includes"
    ;
    ; Windows: "\path1;\path2"
    ;include_path = ".;c:\php\includes"

    Tanto per concludere, insisto su questo fatto, perchè non capisco come mai si ricorre all'utilizzo di questa forma che di fatto è un qualcosa di ibrido poichè non appartiene ne a Linux e ne a Windows, non so se mi spiego!
    Il mondo è diviso in 10 gruppi di persone... chi capisce il binario e chi no!

    http://www.pratesi.net

  8. #8
    ma perche' mai e' ibrido?

    unix e unix like usano lo slash per dividere l'albero della directory, windosw usa il backslashes.

    apache e' un applicativo nato in *nix e legge lo slash. Ma bonta' sua se sei in windows legge pure i backslash, ma siccome il backslash e' anche il carattere di escape, allora devi metterlo doppio per dirgli che non e' un escape ma uno slash al contrario....

    il file php.ini e' uno solo, quindi a seconda del OS usato metterai lo slash oppure il backslash.
    Se installato come modulo di apache su windows legge correttamente entrambi i segni.

    Ma credimi pure che non sono queste le difficolta' maggiori per scrivere codice php.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Originariamente inviato da piero.mac
    ma perche' mai e' ibrido?
    Per spiegarmi meglio: se io vedo un path che inizia per C: io dopo mi aspetto il backslash \, presupponendo che si tratti di un ambiente win. Lo slash invece lo associo ad ambienti unix-like, quindi se vedo C:/ la cosa mi pare ibrida, tutto qui.

    Originariamente inviato da piero.mac
    unix e unix like usano lo slash per dividere l'albero della directory, windosw usa il backslashes.
    Appunto, come dicevo sopra.

    Originariamente inviato da piero.mac
    apache e' un applicativo nato in *nix e legge lo slash. Ma bonta' sua se sei in windows legge pure i backslash, ma siccome il backslash e' anche il carattere di escape, allora devi metterlo doppio per dirgli che non e' un escape ma uno slash al contrario....
    Non sò cosa sia *nix (???), però ho capito perfettamente la tua spiegazione.

    Originariamente inviato da piero.mac
    il file php.ini e' uno solo, quindi a seconda del OS usato metterai lo slash oppure il backslash.
    Se installato come modulo di apache su windows legge correttamente entrambi i segni.
    Ok, capisco... vale anche in questo caso il doppio backslash?

    Originariamente inviato da piero.mac
    Ma credimi pure che non sono queste le difficolta' maggiori per scrivere codice php.
    In realtà ti confesso che io già programmo in PHP, però fino ad adesso mi ero sempre ritrovato l'ambiente configurato a puntino per sviluppare programmi... questa è la prima volta che faccio una installazione e configurazione!
    Comunque hai indubbiamente ragione, i problemi non sono questi!

    Grazie Fabio
    Il mondo è diviso in 10 gruppi di persone... chi capisce il binario e chi no!

    http://www.pratesi.net

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    67
    Scusate se mi intrometto: Ho lo stesso problema del primo messaggio ma con php4.
    La dll indicata nel tutorial è php4apache2.dll ed ho installato apache2.2., quindi, a rigor di logica, dovrei trovare la dll php4apache2_2.dll, ma all'interno di php ho solo la php4apache2.dll.
    Come posso fare?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.