Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    6

    Usare script bash e python in PHP (con Linux)

    Ciao a tutti!
    Ho scoperto (da principiante in PHP), che si possono richiamare funzioni bash e lanciare script
    Python da PHP.
    A parte che conosco meglio la programmazione in Bash e in Python che quella in PHP...
    cio' potrebbe essere di interesse generale.
    Tutto si basa sull'uso del "backtick " (`):

    Codice PHP:
    <html>
      <head>
        <title>PHP Test </title>
      </head>
      <body>
        <?php
          $pwdx
    ='[b]<u>'.`pwd`.'</u>[/b]';
          echo 
    "#### Directory di -  ".$pwdx." -  ###: 
    \n"
    ;

          
    $llx=`ls -l`;
          
    $ll=explode("\n"$llx);

          echo 
    "<table>\n";
          foreach (
    $ll as $ls){
            if (
    $ls != "")
            {
              echo (
    "<tr>$ls</tr>
    \n"
    ); 
            }
          }
          echo 
    "</table>\n";
        
    ?>
      </body>
    </html>
    Come si puo' notare sia il nome della dir da listare ($pwdx) che la lista dei file ($llx)
    si ottengono facilmente da bash con pwd e ls -l.
    Lo stesso sistema si puo' usare per lanciare uno script Python ($py=`python script.py`).

    Una richiesta agli esperti: esiste qualcuno che ha usato tali sistemi o esiste al riguardo
    della documentazione reperibile

    Bye.

    P.S. Per gli utenti di Windows, esiste Python x Windows ed emulatori della shell Bash.

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Re: Usare script bash e python in PHP (con Linux)

    Originariamente inviato da boblan
    Una richiesta agli esperti: esiste qualcuno che ha usato tali sistemi o esiste al riguardo
    della documentazione reperibile
    Che tipo di documentazione cerchi?

    Se ci pensi l'utilizzo delle funzioni system e exec è molto semplice, chiami un eseguibile che rilascia un output che tu puoi elaborare.

    non ho mai fatto test del genere, ma anche se come esempio rende l'idea mi chiedo perchè dovrei usare "ls -l" quando esistono le funzioni di php per leggere i files.

    Se poi calcoli che uno dei punti principali della programmazione in php sia quello di rendere il tuo script il più possibile compatibile sia con linux che con windows il tuo ragionamento decade.
    Diverse configurazioni su un server potrebbero non permetterti l'uso di alcuni comandi da shell, o l'utilizzo di un hosting condiviso non ti permetterebbe di installare le versioni per windows della bash o di python.

    Per situazioni particolari però dove tu puoi configurare il server allora queste due funzioni possono davvero esserti utilissime.

    In un progetto che ho seguito tempo fa ad esempio tramite php era richiesta la creazione di un utente sul server ftp che risiedeva sulla stessa macchina, con system ho potuto richiamare il file bash che avrebbe creato l'utente, ma se dovessi rivendere questa cosa su un server windows dovrei rivedere tutto.

    In conclusione, se puoi evita l'utilizzo di system, deve essere sempre l'ultima soluzione secondo me.


  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    6
    Le osservazioni che fai sono giuste, ma io non sono un programmatore professionista...
    Si puo' dire che ho visto nascere il computer e il relativo software...
    Data l'eta' ho l'idiosincrasia per la programmazione a oggetti (meglio la programmazione strutturata...), anche se so sfruttarla.
    Ora mi sono accostato a PHP, specie per i vantaggi per la programmazione dei web server.
    Ho dei grossi dubbi pero' sulla sicurezza, specie se devo utilizzare JavaScript, per trattare localmente i dati delle query...
    Dal mio punto di vista, applicare linguaggi diversi e' un vantaggio.
    Lo so che tutto si puo' fare con PHP, ma ogni linguaggio ha i suoi punti di forza, che e' bene sfruttare
    (specie con un occhio alla sicurezza).

    Ti ringrazio comunque del tuo contributo.

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.