• User Attivo

    Ciao,

    Ho bisogno di nuovo del tuo aiuto. Come diavolo si rende modificabile un file in vi (in questo caso php.ini) con putty, e scrivibile ???? Quando vado a correggere, mi da errore e mi dice permesso non consentito. File di sola lettura. Sto impazzendo spero di ricevere risposta al più presto. Grazie. E un'altra cosaq, dove si trova tale indirizzo sul nas (synology):
    vi /usr/syno/etc/php.ini


  • ModSenior

    Bisogna vedere con che utente sei loggato, e chi è il proprietario del file.
    Cosa intendi per dove si trova? Hai già messo il percorso del file, per cui dove si trova lo sai.


  • User Attivo

    Ciao,

    Si è vero che lo so il percorso, però se lo vai a cercare sul synology (nas) non c'è. Il file è di mia proprietà, entro come amministratore, quindi in teoria dovrebbe essere già libero o sbaglio ???? Cioè che si può modificare e salvare. Io cerco fisicamente questa cartella /usr/syno/etc/, quando sto su putty e con il prompr synology> che aspetta che comandi gli debbo dare. Se faccio un cerca non la trovo. E' per caso invisibile o nascosta ?????


  • ModSenior

    Se sei loggato come root non è un problema di permessi, se il file non c'è li, è probabile che stai usando un percorso errato.
    Cosi dall'esterno è abbastanza difficile capirci qualcosa.


  • User Attivo

    Ciao,

    Allora, ti dico subito che il percorso non è errato, in quanto entro nel file lo leggo rieesco a modificarlo ma non riesco a salvare le modifiche. Il percorso esatto è questo: vi /usr/syno/etc/php.ini e mi apre il file tranquillamente. Entro come amministratoire, dovrei avere tutti i permessi e invece no. Inoltre, se faccio una ricerca la cartela sembra risultare fantasma. Non riesco proprio a capire. Sicuramente sul pc non è situato.


  • ModSenior

    Fai:

    
    cd /usr/syno/etc/
    ls -la
    
    

    E incolla qui la riga relativa a quel file, cosi vediamo che permessi ha.
    In putty come nome per accedere usi root, o un altro?


  • User Attivo

    Ciao,

    Innanzi tutto grazie, per le info e poi ho risolto il mistero. In pratica devo entrare come root e non come admin. Pensavo che fosse la stessa cosa ma invece mi sbaglavo.


  • User Attivo

    Come detto prima, usavo admin. Adesso mi hanno detto che debbo entrare come root. Ma sono quattro righe Non capisco cosa sia successo. ieri erano una caderva di codici, tra cui c'era anche la sessione riguardante win32 adesso non c'è più. Boh ???? Fatto come hai detto e mi compare questo:

    -rw-r--r-- 1 root root 70274 Jul 30 08:52 php.ini


  • ModSenior

    Probabile che non essendo molto esperto di come si usa, hai cancellato diverse righe del file...
    Sarebbe da ripristinare il file originale, di cui suppongo non hai fatto una copia.


  • User Attivo

    Scusa la battuta alla bud spencer nel fil, "nati con la camicia" vedi il finale o se te lo ricordi. La supposta è giusta. Comunque posso fare un copia e incolla del codice del phph.ini del locallost di xampp e rimettere quello a posto di quello che c'è ???? Potrebbe funzionare ????


  • ModSenior

    Non ricordo il finale. Devo andare a vederlo. 😄
    Il php.ini del tuo pc dovrebbe andare bene anche messo li.


  • User Attivo

    Ok,

    Dopo prova cuscini ci provo. Una cortesia, vedo che conosci abbasta l'editor vi, mi sembra di aver capito. Mi puoi dare i comandi per inserire il testo, cioè modificarlo con il codice del php di windows che ho ???? Grazie. oppure mi puoi spiegare come fare per modificarlo ???? Grazie.


  • ModSenior

    I comandi principali sono questi:

    
    w -> vai all'inizio della prossima parola
    b -> vai all'inizio della precedente parola
    e -> vai alla fine della prossima parola
    n| -> vai alla colonna 'n' della riga corrente
    $ -> vai alla fine della riga corrente
    ^ -> vai al primo carattere della riga corrente
    G -> vai alla fine del file
    gg -> vai all'inizio del file
    Gn -> vai alla riga 'n' del file
    i -> modalita' inserimento (prima del cursore)
    a -> modalita' inserimento (dopo il cursore)
    o -> modalita' inserimento (sotto la riga corrente)
    x -> cancella un carattere
    nx -> cancella 'n' caratteri
    dd -> cancella l'intera riga
    ndd -> cancella 'n' righe
    yy -> copia la riga corrente
    p -> incolla la riga copiata
    Rmiastringa -> sostituisce i prossimi caratteri con la stringa 'miastringa'
    /stringa -> trova la prossima stringa 'stringa'
    ?stringa -> trova la stringa 'stringa' all'indietro
    n -> ripete la ricerca nuovamente
    u -> annulla l'ultimo comando 
    
    

    Ma piuttosto che usare vi, io ti consigliere idi provare se "nano" o "pico" sono disponibili. Ed usarli al posto di vi, cosi non devi incasinarti, e l'interfaccia è molto più semplice da utilizzare.


  • User Attivo

    Questoè quellochemi fornisce ilsynology(nas)nonsosec'è anche nano. Provo a digitarlo e poivedo che succede, ma hoi miei dubbi. Grazie comunque. C'è anche il comando copia e incollavero ???? Perdonami ma ad ogni comando, bisogna mettere i ":"davanti giusto ???ad esempio :w


  • ModSenior

    No, sono proprio quelli i comandi.
    Quelli preceduti dai : sono ad esempio quelli per salvare, o chiudere senza salvare.


  • User Attivo

    Scusa,

    Ti debbo rirompere, volevo sapere c'è un modo per rinominare il file ???? Erroneamente l'ho chiamato vi vi (ilnome del file). Lo dovrei modificare in php.ini


  • ModSenior

    Puoi usare il comando mv per muoverlo, e quindi può essere usato anche come rinomina.
    Ovviamente il vecchio php.ini dovresti prima toglierlo.


  • User Attivo

    Capito,

    Hofattodimeglio, disinstallato il phpmyadmin e reinstallato di nuovo. Solo che non riesco a trovarela parte riguardante [mail_function] win32. 😞 Rettifico, c'è era più in basso ehehehehe. Ora la modifico e poi la salvo.


  • User Attivo

    Ciao,

    Grazie dei tuoi preziosi consigli sui comandi vi. Finalmente sono riuscito a partorire. E' un bel maschietto di 2 kg. Modifiche effettuate, dovrei in teoria riavviareil synology (nas) presumo ve ??? Ma voglio essere masochista e provare così eheheheh. GRazie ancora. La discussione per me si può chiudere. Sei stato molto prezioso.


  • User Attivo

    Salve a tutti,

    Apro una nuova discussione, sperando che qualche buon anima mi possa aiutare. Il punto è questo. Ho eseguito una prova, chiedendo di registrare solo l'indirizzo email, l'indirizzo viene registrato, ma non mi invia l'email, anzi mi da un errore. Premessa:

    Lavoro tutto sul synology (nas),

    Adopero come editor netbeans 7.01

    Adopero come email principale gmail che ha la porta 465

    Windows 7 home (sul portatile) o Ultimate (sul fisso, dipende se sto a casa o al mare)

    Mi connetto tramite una vpn al nas

    Ora posto i codici di quello che ho fatto. Il primo si chiama come file insemail.php

    Eccolo qua:

     [PHP]
    

    <?php
    require_once("connetti.php");

    if (!isset($_POST['reg'])) {

    ?> 
    <html> 
        <head> 
        </b></em></hr> 
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
            <title>Inserimento Email</title> 
    <h1> <center> 
            BENVENUTO INSERIRE SOLO L'EMAIL PREGO !!! </H1> 
            <b> <hr> <em>  </b> </hr> </em> 
                    
            <form action= '' method="POST"> 
                <center> 
                <font face="Comic Sans MS"> 
                Email:    <input type="text" name="email"  maxlength="40" size ="42"> <br> <br> 
    
                </font> 
                    <center> 
                   <input type="submit" name="reg" value="Invio Email" /> 
                    <input type="submit" name="uscita" value="Uscita" /> 
                </center>     
    

    </head>
    <body>
    <?php
    } else {

    $email = mysql_real_escape_string(trim($_POST['email'])); 
    

    $ok_ko ="";

    if($email ==""){ $ok_ko .= "Attenzione: il campo email deve essere compilato. <br> <br>";}

    if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
    $ok_ko .= "indirizzo email non valido<br>";

    }  
     
    // Controllo se esiste l'email nel db 
    

    $checkemail=mysql_query("SELECT email FROM email WHERE email='$email'");
    $vuota=mysql_num_rows($checkemail);
    if($vuota > 0){
    echo "<br> <br> <h1> Attenzione: l'email: ".$email." è già presente nell'archivio. Si prega di cambiare email. Grazie !!! </h1>";
    echo "<meta http-equiv='Refresh' content=1; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
    exit();

    }
    if($ok_ko !=""){
    echo "<h1>$ok_ko</h1>";

        echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>"; 
    

    exit();
    //recupero i campi di tipo "stringa"

    $email = trim($_POST['email']);

        }else{ 
    

    $q_i=mysql_query("INSERT INTO email(email) VALUES('$email')");

    echo "<h1> <br>Email registrata correttamente. Controlla la tua email. Dovrebbe essere stat inviata un'email di conferma. Accettare per abilitare l'account. Grazie. !!!</h1>";//e torno al form
    //echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";

    require_once("invioemail.php");
    }
    }
    ?>
    </body>
    </html>
    [/PHP]

    Il secondo, invece si chiama per l'appunto: invioemail.php Ed eccolo qua:

    [PHP]
    <?php

    require_once("connetti.php");

    $to = "[email protected]";
    $subject = "Test mail";
    $message = "Hello! This is a simple email message.";
    $from = "[email protected]";
    $headers = "From:" . $from;
    mail($to,$subject,$message,$headers);
    echo "Mail Sent.";

    [/PHP]

    Ora, considerando che ho la connessione di libero (infostrada), e non mi ricordo purtroppo smtp, che va inserito nel file php.ini, posto qui sotto una semplice configurazione del mio php.ini, situato sul synology. Eccolo qua:

     [PHP]
    

    [mail function]
    ; For Win32 only.
    ; php.netsmtp (Non posso mettere l'indirizzo, che mi da errore in quanto mi dice che c'è un link e non mi fa inviare il messaggio)
    SMTP = smtp.gmail.com
    ;SMTP = synology (ovviamente qua c'è il mio indirizzo ip)
    ;php.net-smtp-port
    smtp_port = 465
    ;smtp_port = 25
    [/PHP]

    Considerate che, con altervista lo stesso codice e le stesse modifichhe c(ossia mettendo l'indirizzo ip del mio synology), parte. Invece dal synology direttamente no. non capisco più cosa debbo fare. Aiutatemi vi prevo. Un ultima cosa, vi posto la tabella di insemail.

    Eccola:

    [PHP]

    create table email (

    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    email VARCHAR(40) NOT NULL,
    autorizzato ENUM('0', '1') DEFAULT '0',
    PRIMARY KEY (id)
    );

    [/PHP]
    Grazie a tutti in anticipo.