Come è noto a chi si interessa di questo tema (apache+php+mysql) questa collezione di programmi consente di realizzare “siti web dinamici“.
Ma vi sono programmi di installazione che realizzano non solo la installazione per ciascuno, ma anche per tutti e 3 (apache+php+mysql), ad esempio: easyphp al link seguente:
link-1=easyphp
https://www.easyphp.org/easyphp-devserver.php
Ciò è utile per sperimentare sul proprio personal computer “siti dinamici“, prima della avventura di sperimentare on line, magari su altervista:
link-2=altervista
https://it.altervista.org/crea-sito-gratis.php
NON sottovalutate di avere un aiuto a realizzare un software già impostato dinamico, come sul software “wordpress”, “joomla!”, “phpbb”, “wikimedia”, etc.
Ma ciò che rimarrà nascosto è come questi prodotti (“wordpress” etc) abbiano configurato i software base e cioé ad esempio apache+php+mysql.
Perché questo modo di configurare andrebbe spiegato?
Perché le basi di dati gestite da mysql, potrebbero essere esplorate con apache e php, ma su un prodotto nuovo che deve configurare meglio che i 2 link precedenti che sono “orientati” ai prodotti finali già noti.
Se, infatti, provate il linguaggio mysql -allora- scoprite che le istruzioni si sono evolute ma la correlazione tra php e mysql non affronta il tema della configurazione iniziale dei 3 software, a meno che non siate voi, come studio, a realizzarla.
Per esempio la istruzione:
mysql_connect divenuta mysqli_connect
che easyphp non riconosce (in mysqli) (alla data attuale 23.06.2024, per il futuro si veda la documentazione del software dopo che sarà, eventualmente, aggiornato).
Per avere una guida a come fare consiglio il seguente video:
link-3:
https://www.youtube.com/watch?v=qpPYYX-i1cs
E’ con l’audio originale in inglese, ma se lo guardate su youtube potete impostare le scritte anche in altre lingue, nel nostro caso in italiano, ma ciascuno sceglierà la sua lingua di riferimento.
Ad ogni passaggio di configurazione(*), vedrete che i concetti di base sono i seguenti:
(*)
vi consiglio di usare un computer dedicato se non volete avere problemi con il computer a cui temete di fare danni.
- eseguire il download del software
- usare la linea di comando (cmb) per installare il software sul vostro computer
- oppure, come nel caso di notepad++ usare una installazione pre-confezionata
- verificare che il software singolo sta funzionando
- verificare che con la programmazione php state gestendo la base di dati (mysql)
- verificare che sta funzionando anche apache (che va abilitato) come passo iniziale allo stato relazionale.
—
Purtroppo anche il video che stiamo seguendo, si vedrà che conteneva degli errori, che però correggerò durante il diario seguente sotto la scritta “ritorno al futuro”
—
Seguiamo il video, ed aggiungiamo dei commenti, dove necessario:
[1] installazione di Apache:
https://httpd.apache.org/download.cgi
il video sceglie:
apache lounge 2.4.43
Noi scegliamo la versione aggiornata:
apache lounghe 2.4.59
dice di installare una versione aggiornata del visual c, oppure controllare se è già installata:
il video sceglie: x64 vc_redist_x64.exe
*) seguire -per un controllo- il seguente percorso nel sistema operativo winodws11
Pannello di controllo\Tutti gli elementi del Pannello di controllo\Programmi e funzionalità
nel mio computer dopo avere scaricato gli aggiornamenti: “visual C” è già presente,
*) Quindi salto questa parte del video.
—
*) video minuto 2.36:
ha scaricato una versione apache probabilmente nella “cartella=download”, ma per installare deve fare extract, cioé lo scompattamento del file *.zip
la questione è delicata:
Infatti lo scompattamento non può avvenire su un qualunque indirizzo di destinazione, ma va indirizzato (come destinazione) su “C:” e cioè nella zona dei file eseguibili.
Il video dice di usare: C:\Apache24
che è lo stesso nome (Apache24) del file aperto zippato, ma non ancora scompattato.
Inoltre la cartella (Apache) contiene l’eseguibile (httpd) che poi installeremo da linea di comando (cmd=command linea).
++
cit on inserto (23.06.20249
++
per facilitare la installazione fare il download di “winRAR archiver”:
https://www.win-rar.com/downloadond.html?&L=0
si noti la scritta “creeremo la destinazione se non esiste!”
++
cit on
++
Aggiornamento: 23.06.2024
le modifiche di un file in formato txt, testo, del tipo file.txt, si possono anche fare con l file che usate per aprire questo tipo di file, come ad esempio notepad, e simili. Le versioni più elementari non mostrano il numero di riga, ma esistono molti programmi gratuiti con anche la funzione di “interpreter” che indicano gli errori rispetto al linguaggio php.
++
cit off
++
riprendo il diario del video che stiamo esaminando:
Significa per un programma come winRAR archiver:
che -nella nostra installazione- alcune cartelle potrebbero non esistere come destinazione, e nel caso che non esistano le creeremo prima di scriverci dentro durante la scompattazione (del file zip) e trasferimento alla locazione scelta come destinazione.
Quindi basterà scegliere il nodo “radice” (in questo caso C:\) e la lettura del file zip informerà quale cartelle e sottocartelle “creare” per trasferire (attualmente) Apach
.++
cit off inserto (23.06.2024)
++
minuto 2.54 del video:
apro la cmd come amministratore (attenzione a selezionare “come amministratore” prima di aprire la linea): infatti altri linguaggi (come quello su linea di comando apple) consentono di farlo *dopo* chiedendo i privilegi con “sudo su -”
che chiederà la pw di amministratore, ma -su windows- questo deve avvenire *prima* di entrare su linea di comando.
Mi mostra (la linea di comando cmb dopo essere entrato come amministratore) la seguente situazione:
C:\Windows\System32>
in ipotesi di avere già installato apache, (0 meglio solo estratto dal file zip e messo nelle cartelle del vostro computer), allora, da linea di comando cambiamo l’indirizzo ..
dobbiamo fare un cambio di indirizzo (directory) come segue
cd C:\Apache24\bin
in totale:
C:\Windows\System32>cd C:\Apache24\bin (enter)
comparirà (dopo enter), che in alcuni computer è una freccia del tipo (enter: “<-“)
C:Apache24\bin>
ora bisogna scrivere httpd -k install
ma nel contesto seguente:
C:Apache24\bin>httpd -k install (enter)
Compare un messaggio (dopo avere inserito enter) in cui è detto che manca il “Server Name”, ma sarà inizializzato in seguito, secondo l’autore del video (noi entreremo in dettaglio su ciò).
L’autore del video con la istruzione seguente:
C:Apache24\bin>httpd -t
Ci dice che la sintassi è corretta, ma manca il “ServerName”.
Per rendere il programma attivo:
C:Apache24\bin>httpd -k start (enter)
Se andiamo in task manager (Gestione attività) potremo vedere se esiste Apache
Nel mio computer (“Hp” acquistato a giugno 2024, con wundows11) sotto la voce “processi in background” ..
abbiamo la conferma che Apache esiste.
Riprendiamo l’esame del video, già sopra citato:
minuto 7.35 del video:
[2] installazione di php
il video sceglie la versione 7.4.8
io ho scaricato la versione (zippata, cioé zip) 8.3.8
da notare come cambia la denominazione della cartella “radice” in php74
io la chiamo php838
++
cit on
++
ritorno al futuro:
(si vedrà nel seguito che sarebbe stato meglio chiamare la cartella solo php, poiché la versione del php dalla 8 in poi non aggiunge cifre alla cartella php, altrimenti vi sono errori di caricamento nel collegare al file dll. Si può però continuare ad etichettare in modo personalizzato, purché si operi una modifica nel caricamento dei dll)
++
cit off
++
ritorno al diario di commenti al video:
ci sono alcune “inizializzazioni sulle cartelle” al minuto
minuto 8.5 del video:
il video usa il software di scompattamento:
“winRAR archiver”
1) aprire c:\php\php.ini-development
come si può vedere la sintassi è semplice:
“;” imposta quanto segue come commento
la riga senza inizio di “;” è un comando
il video consiglia di fare una copia di salvataggio (detta backup) prima di modificare le inizializzazioni:
“esattamente con copia ed incolla sulla stessa cartella”
si genererà:
php – copy.ini-development
il video modifica il nome qui sopra, per realizzare php.ini
io ho preferito creare nuovo file:
php.ini (vuoto)
riempirlo con il contenuto di php.ini-development
2) ora php.ini è pieno
3) Ora il video va alla cartella principale di Apache .. ed apre la cartella “conf”
ovvero:
C:\Apache24\conf
seleziona il file httpd.conf
ne fa una copia identica che chiama di backup
cioé httpd.conf–backup.txt
io preferisco realizzare un file vuoto:
httpd.conf–backup.txt
e riempirlo con httpd.conf
si noti che con la mia tecnica il file di backup è più riconoscibile come file testo duplicato
che all’occorrenza può essere cambiato nello “spiazzamento” = conf (httpd.conf)
oppure selezionando il contenuto e immetterlo del file httpd.conf
—
a questo punto del video propone la installazione di notepad++ che noi abbiamo già realizzato.
poi procederà con le modifiche.
siamo al minuto:
9.46 del video:
C:\Program Files\WinRAR\winrar.exe
oppure aprire, con notepad, il file.
—
per scoprire il nome del modulo da caricare in conf di apache:
ci troviamo, nella locazione c:\php838\php8apache2_4.dll
di cui dobbiamo prendere solo il nome del modulo, e cioé php8apache2_4.dll
ora andiamo al seguente percorso di apache:
C:\Apache24\conf\httpd.conf
ed apriamo il file httpd.conf
alle ultime righe troveremo:
++
cit on
++
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
++
cit off
++
dobbiamo aggiungere
#PHP838 configuration (nel video: PHP7)
LoadModule php838_module “c:/php838 ..
( sul video aggiunge: “c:/php74 ..)
Nota Bene:
la barra verticale cambia da “\” (per i percorsi) vs “/” (quando indica una azione)
.. prima di completare va -l’autore del video- nella cartella del php e sceglie il file:
minuto 10.42 (del video):
php8apache2_4.dll (nel video: php7apache2_4.dll)
copia il nome del modulo e lo scrive nella cartella seguente:
LoadModule php838_module “c:/php838/php8apache2_4.dll”
(nel video il percorso di ricerca è il seguente: “c:\php74\php7apache2_4.dll”)
La aggiunta (in conf di apache) è:
minuto 11.10:
++
cit on
++
modello new (scrittura in apache al file conf)
esattamente conf è al seguente percorso:
C:\Apache24\conf\httpd.conf
#PHP838 configuration
LoadModule php838_module “c:/php838/php8apache2_4.dll”
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php
PHPIniDir “c:/php838”
++
cit off
++
++
cit on
++
ritorno al futuro:
si scoprirà nel seguito che andava scritto:
LoadModule php_module “c:/php838/php8apache2_4.dll”
++
cit off
++
Ma per ora lascio le scritte qui sopra in verde!
Il video ha -quasi- finito le modiche in conf.
Ora, sempre in conf, modifica index che può essere aperto anche nella modalità php
Si noti che php.ini è stato riempito con php development ..
nello stesso file, conf, il video cerca -quindi-
index.html
ed aggiunge ” index.php” (eliminando index.html, ma non era necessario, poiché la cartella dove risiedono i file, ora index.html, in seguito tutti i file di tipo file.php è un “archivio” degli eseguibili da lanciare nella modalità localhost/index.php)
siamo al minuto 11.38
E le modifiche, per ora, sono in httpd.conf
minuto 11.55: il video modifica ..
modifica come segue:
DirectoryIndex index.html index.php
—
ora sarà fermato apache e poi riavviato
risultato?
da linea di comando apache risulta già installato, ma non parte per errore di configurazione imputato a dll
la prima cosa che devo fare:
1) togliere le modifiche operate
2) vedere se senza le modiche funziona
3) verificare cosa non va nelle modifiche
—
minuto 13.13 installazione del “server mysql”
rinviato
—
proverò a cambiare -per ripristinare lo stato inziale del software- le aggiunte dalla fine verso l’inizio:
a) vado nel file conf, esattamente httpd.conf
all’indirizzo:
C:\Apache24\conf\httpd.conf
(come si può vedere dal backup)
bisogna togliere tutto ciò che segue alla lista seguente:
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
tolgo:
++
cit on
++
#PHP838 configuration
LoadModule php838_module “c:/php838/php8apache2_4.dll”
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php
PHPIniDir “c:/php838”
++
cit off
++
fatto (n1)
—
ora tolgo index.php sempre nel file conf
all’indirizzo:
C:\Apache24\conf\httpd.conf
si tratta del seguente set di istruzioni:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
da cui tolgo index.php
fatto (n2)
—
vado alla cmd (command line)
e lancio apache
le istruzioni sono le seguenti:
dove dice .. “cerca” con lente di ingrandimento” .. immettere cmd e poi lanciare come amministratore
prima di lanciare quanto segue il server apache non è presente!
C:\Apache24\bin>httpd -k start (enter)
httpd -k start
messaggio:
“httpd” non è riconosciuto come comando interno o esterno,
un programma eseguibile o un file batch.
questo dovrebbe essere perché non ho fatto il cambio di directory!
C:\Apache24\bin
cd C:\Apache24\bin
ora ripeto:
httpd -k start
non mi ha dato errore!
vado a controllare se Apache è presente in gestione attività
esiste!
“Apache http server” esiste
vado a vedere in programmi installati:
da pannello di controllo > programmi e funzionalità non esiste come programma
da servizi componenti > Apache2.4 > in esecuzione (avvio automatico)
c’è anche start e stop
digito localhost in firefox (enter)
It works!
Il file è situato in
C:\Apache24\htdocs\index.html
—
dopo avere rivisto il video .. mi sembra che cambi index.html -> index.php
non solo come spiazzamento ma anche come contenuto del file index
forse potrebbe essere stato questo ad impedire la generazione di localhost che chiamerebbe in automatico il file index
proverò domani (19 giugno 2024)
stop
—
mercoledì 19 giugno 2024
ri-apro il video per vedere il minuto in cui crea index.php
minuto del video:
11.34
confermato che non avevo configurato index.php
11.17
dice di volere “creare index.php” sebbene le modifiche ed il riavvio erano già avvenute!
nota bene l’indirizzo in cui cerca il file è il seguente:
c:\Apache24\htdocs
in questo indirizzo esisteva (prima delle modifiche del video) solo il file:
index.html
che viene trasformato in index.php
ed inoltre viene cambiato il “contenuto”!
Che era:
++
cit on
++
<html>
<body>
<h1>It works!</h1>
</body>
</html>
++
cit off
++
ed è cambiato così:
++
cit on
++
-<?php
echo “My PHP Page”;
phpinfo();
++
cit off
++
Si noti che non ha chiuso il php come nell’esempio seguente:
https://www.php.net/manual/en/function.phpinfo.php
<?php
// Show all information, defaults to INFO_ALL
phpinfo();
// Show just the module information.
// phpinfo(8) yields identical results.
phpinfo(INFO_MODULES);
?>
—
probabilmente il segno “-” è irrilevante, ma il compilatore che si apre per la diagnostica sul pc apple segnala solo
++
cit on
++
-<?php
echo “My PHP Page”;
phpinfo();
++
cit off
++
che vada riscritto terminando le virgolette e poi mi da le informazioni come nel video.
Quindi è probabile che (la violazione di lasciare aperta la procedura php) è una modalità di chiedere le caratteristiche del sistema? no, la procedura php andava chiusa.
Il segno “-” genererà la stampa del segno prima del testo in php.
++
cit on
++
-<?php
echo “My PHP Page”;
phpinfo();
++
cit off
++
tutto ciò è sufficiente per ripetere la procedura di configurazione senza saltare la creazione del file index.php distruggendo il file index.html!
Solo quando la procedura avrà dato esisto positivo riscriverò i commenti qui sopra e si potrà passare alla successiva configurazione di mysql.
—
diario dell’esame del video:
19 giugno 2024:
- nel file: httpd.conf di apache all’indirizzo: C:\Apache24\conf\httpd.conf
- aggiungo
++
cit on
++
#PHP838 configuration
LoadModule php838_module “c:/php838/php8apache2_4.dll”
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php
PHPIniDir “c:/php838”
++
cit off
++
modifico in httpd.conf, la sezione seguente:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule> - poiché ho aggiunto la scritta “index.php”
- adesso devo salvare il file httpd.conf e riavviare il server apache. Per fare ciò il video fa le seguenti operazioni:
- minuto 11.55
- sono riuscito ad arrestare il servizio, ma non a riavviarlo perché non sto nell’account amministratore.
- entro in cmd come amministratore (da cerca metto cmb) e rifaccio partire apache
- esattamente devo cambiare directory e poi start
- cd C:\Apache24\bin
In merito alla situazione seguente:
C:\php838\php8apache2_4.dll
la linea di comando ..
mi diagnostica error associato al fatto che non vede il dll.
a) riporto allo stato originario
b) cerco un nuovo manuale, poiché -evidentemente- ha omesso alcune azioni che mi mandano in crack il sistema.
19 giugno 2024:
riporto il sistema alle condizioni prima della modifiche per seguire il nuovo video:
- tolgo da http.conf di apache:
++
cit on
++
#PHP838 configuration
LoadModule php838_module “c:/php838/php8apache2_4.dll”
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php
PHPIniDir “c:/php838” - tolgo anche index.php
salvo e chiudo il file.
++
cit on
++
ritorno al futuro:
Si vedrà in seguito:
corrige = LoadModule php_module “C:\php838\php8apache2_4.dll”
errata = LoadModule php_module838 “C:\php838\php8apache2_4.dll”
++
cit off
++
ok, avendo riportato a prima delle modifiche, allora, ora funziona.
cerco un video alternativo .. ore 17.52 19 giugno 2024:
https://www.youtube.com/watch?v=Bb21iI6yoUE
In questa configurazione dice una cosa interessante al minuto 9
cioé il fatto che c’è modo di indicare il ServerName = localhost
Quindi è da rileggerlo e vedere se riesco a configurare almeno il php8 & apache.
—
start, rilettura:
20 giugno 2024:
dove risiederebbe il file “index.php”?
Nel seguente percorso:
C:\Apache24\htdocs
se lasciamo solo index.html
quando indichiamo localhost, aprirà index.html
se al posto di index.html scriviamo
index.php aprirà la pagina in php
Dunque se scriviamo
localhost/index.php
aprirà questo file index.php
se scriviamo localhost/index2.php
aprirà index2.php
quindi nel percorso C:\Apache24\htdocs vi sono i file da aprire in php equivalenti alla directory .. www di easyphp.
Come primo esperimento basterà cambiare solo index.html vs index.php
vediamo i passaggi con cui consiglia di farlo:
al minuto 4.50 (del secondo video) inizia la installazione del php (salva il ramo)
cioé “php thread safe build” versione 8.0.8 (minuto 5.45)
comunque index.html sarà sostituito con index.php
inoltre la cartella dovrebbe essere anche per altri *.php
le istruzioni aggiuntive in conf (secondo il video numero 2) sono le seguenti:
++
cit on
++
LoadModule php_module “C:\php838\php8apache2_4.dll”
AddHandler application/x-httpd-php .php
PHPIniDir “C:\php838”
++
cit off
++
++
cit on
++
ritorno al futuro:
Si vedrà in seguito che anche qui era bene consigliato:
LoadModule php_module “C:\php838\php8apache2_4.dll”
Che NON doveva essere:
LoadModule php_module838 “C:\php838\php8apache2_4.dll”
++
cit off
++
ritorno al diario originario (20 giugno 2024):
controllare se in php838 esiste php.ini ottenuto da development
consiglia di usare cmd (linea di comando) per vedere se c’è qualcosa di sbagliato come segue:
httpd -t
cerca la riga:
# ServerName
nel file httpd.conf
e togli il #
esattamente laddove dice:
#ServerName www.esempio
al posto di www.esempio scrivere localhost e salva
ora scrivendo
httpd -t
(directory sistem32) darà syntax ok
mentre prima diceva che mancava il nome del server
solo dopo queste modifiche propone di cambiare index.html in index.php
in httpd.conf aveva dimenticato di aggiornare
<IfModule dir module>
aggiunge index.php
—
versione video1
#PHP838 configuration
(*1)LoadModule php838_module “c:/php838/php8apache2_4.dll”
(*2)AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php
(*3)PHPIniDir “c:/php838”
++
cit on
++
ritorno al futuro:
errata: LoadModule php838_module “c:/php838/php8apache2_4.dll”
corrige: LoadModule php_module “c:/php838/php8apache2_4.dll”
++
cit off
++
++
cit on versione video2
++
(*1)LoadModule php_module “C:\php838\php8apache2_4.dll”
(*2)AddHandler application/x-httpd-php .php
(*3)PHPIniDir “C:\php838”
++
cit off
++
(*1) errore indirizzi \
(*2) ok azioni /
(*3) errore indirizzi \
—
- allo stato attuale apache funziona con index.html
- si tratta di fare leggere ad apache i file php
per fare ciò ho 2 video che consigliano le istruzioni.
—
20.06.2024, ore 8.28
verbale video n.1:
dal minuto 00 vs
consiglia una versione per apache e la relativa installazione
consiglia la versione lounge 2.4.43 per windows 64 bit
consiglia visual c++ (io l’ho già sul pc) e lo installa con la versione download
ora passa ad installare apache:
cmd = linea di comando
cd =cambia la directory e si mette nella cartella dove è httpd
c:\apache24\bin
nel mio caso è ..
C:\Apache24\bin
>httpd -k install (enter)
gli da errore sul name server che poteva essere eliminato andando a modificare il file conf come è detto sul secondo video.
esattamente stiamo parlando di ..
C:\Apache24\conf\httpd.conf
laddove dice:
++
cit on
++
# If your host doesn’t have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
++
cit off
++
da cambiare come segue:
ServerName localhost
la quale cosa non è ancora stata operata sul file C:\Apache24\conf\httpd.conf
al minuto 4.28 dice “lo affronteremo più tardi”
con
httpd -k start (enter)
avvia apache
dice che si può vedere se apache è attivo in gestione attività
dice che la directory htdocs contiene il file index.html
esattamente:
C:\Apache24\htdocs\index.html
php è scaricato dal video n.1 nella versione “thread safe”
Nota Bene:
io aggiungo il file index.php
e non sostituisco index.html
ciò genererà l’avvio di index.html se nel navigatore scrivo:
localhost
oppure l’avvio di index.php
se scrivo:
loacalhost/index.php
il codice di index.php è qui di seguito
(si può scrivere in un file testo e poi cambiare la parte txt in php)
++
cit on
++
-<?php
echo “My PHP Page”;
phpinfo();
++
cit off
++
quando lancio
localhost/index.php
non esegue! ..
ma mi da solo il testo qui sopra (vedi -<? php ..)
il file exe di php è un processo attivo in “gestione attività”.
ma poiché non ho ancora configurato non si attiva come programma php
—
https://stackoverflow.com/questions/6693143/basic-apache-commands-for-a-local-windows-machine
da dove dai il comando start si può scrivere restart
esattamente
cd c:\apache24\bin
c:\apache24\bin>httpd -k start
c:\apache24\bin>httpd -k restart
++
cit on
++
modello new (scrittura in apache al file conf)
esattamente conf è al seguente percorso:
C:\Apache24\conf\httpd.conf
#PHP838 configuration
LoadModule php838_module “c:/php838/php8apache2_4.dll”
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php
PHPIniDir “c:/php838”
++
cit off
++
++
cit on
++
ritorno al futuro:
LoadModule php838_module “c:/php838/php8apache2_4.dll”
andrà cambiato in
LoadModule php_module “c:/php838/php8apache2_4.dll”
++
cit off
++
—
21.06.2024:
C’è una questione aperta:
apache running in automatico quando accendo il computer
da gestione attività si può vedere:
“gestione attività”
vado a vedere start e stop da linea di comando:
https://httpd.apache.org/docs/2.4/platform/windows.html
Come usare il Prompt dei comandi | Salvatore Aranzulla
httpd -k start
httpd -k shutdown
httpd -k restart
quindi per introdurre le “modifiche” prima devo fermare httpd e solo dopo aprirlo.
proviamo:
1 modifica: fermo apache, vedi seguito su come:
da linea di comando:
cmd in “cerca”
cd
adesso devo fermare apache
httpd -k shutdown
da: https://httpd.apache.org/docs/2.4/platform/windows.html
httpd.exe -k shutdown
oppure da: cerca > “servizi componenti” > “servizi (computer locale)
selezionare Apache: etichette: arresta e riavvia
uso questo ultimo metodo:
con “arresta” e poi “introduco le modiche” (al file conf), infine “avvia” per vedere se ha recepito le modifiche.
2° modifica:
ridò il nome al server indicando localhost come era detto nel video n.2
C:\Apache24\conf\httpd.conf
laddove dice:
++
cit on
++
# If your host doesn’t have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
++
cit off
++
da cambiare come segue:
ServerName localhost
lo ho aggiunto a conf > salva
—
3° modifica:
sempre in conf:
++
cit on
++
modello new (scrittura in apache al file conf)
esattamente conf è al seguente percorso:
C:\Apache24\conf\httpd.conf
#PHP838 configuration
LoadModule php838_module “c:/php838/php8apache2_4.dll”
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php
PHPIniDir “c:/php838”
++
cit off
++
fatto > salva il file testo httpd.conf
++
cit on
++
ritorno al futuro:
errata=LoadModule php838_module “c:/php838/php8apache2_4.dll”
corrige=LoadModule php_module “c:/php838/php8apache2_4.dll”
++
cit off
++
ritorno “al diario di esame del video (21.06.2024)”:
(ritorno al presente)
controllare se in conf esiste la elencazione index.php
esiste, salvo > chiudo il file
—
controllare se in docs di apache esiste index.php
esiste, ora vado da ..
“servizi componenti” > “servizi (computer locale)
“avvia”
—
messaggio di errore:
impossibile Apache2.4 su computer locale. Per maggiori
informazioni, consultare il registro eventi di sistema. Se non si tratta di
un servizio Microsoft, contattare il fornitore del servizio e fare
riferimento al codice di errore 1.
—
provo a dare start da linea di comando
C:Apache24\bin>httpd -k start (enter)
C:\Apache24\bin>httpd -k start
httpd: Syntax error on line 539 of C:/Apache24/conf/httpd.conf: Can’t locate API module structure `php838_module’ in file C:/php838/php8apache2_4.dll: No error
—
dopo il “riavvio del pc” apache ancora non si riesce ad avviare .. secondo me togliendo le aggiunte dovrebbe rifunzionare come le altre volte .. vediamo se c’è qualcuno che sa come cambiare le aggiunte ..
Nota Bene:
la modalità di epistemologia che sto per attuare è detta Natural Intelligence (NI) è una intelligenza naturale collettiva:
Ho messo il testo di cosa mi dava come errore in google da linea di comando:
—
grazie al link seguente:
https://php.watch/versions/8.0/mod_php-rename
++
cit on
++
Module identifier renamed to php_module
In PHP 8.0, the Apache module identifier is renamed to php_module
.
In PHP 7.x versions, it was named php7_module
, and in PHP 5.x, it was named php5_module
.
This means that all references to the Apache module loading configuration needs to be updated:
++
cit off
++
tradotto:
Identificatore del modulo rinominato in php_module
In PHP 8.0, l’identificatore del modulo Apache viene rinominato in php_module.
Nelle versioni PHP 7.x era chiamato php7_module, mentre in PHP 5.x era chiamato php5_module.
Ciò significa che tutti i riferimenti alla configurazione di caricamento del modulo Apache devono essere aggiornati:
—
vado a cambiare la scritta php7_module, ovvero php838_module
LoadModule php838_module “c:/php838/php8apache2_4.dll”
diviene, dopo la modifica:
LoadModule php_module “c:/php838/php8apache2_4.dll”
vado in C:\Apache24\conf\httpd.conf
scrivo
LoadModule php_module “c:/php838/php8apache2_4.dll”
—
Tuttavia secondo il link seguente:
https://www.php.net/manual/en/install.windows.apache2.php
vi sarebbero altre modifiche da fare:
++
cit on
++
# before PHP 8.0.0 the name of the module was php7_module LoadModule php_module "c:/php/php8apache2_4.dll" <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> # configure the path to php.ini PHPIniDir "C:/php"
++
cit off
++
++
cit on
++
ritorno al futuro:
Sconsiglio di scrivere
PHPIniDir “C:/php”
poiché -invece- la installazione è avvenuta in C:php838
++
cit off
++
ritorno al diario originario:
confrontando con il video che diceva:
#PHP838 configuration
LoadModule php838_module “c:/php838/php8apache2_4.dll”
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php
PHPIniDir “c:/php838”
non solo è cambiato il codice di LoadModule
ma anche il modo di dare la direttiva AddHandler
ed inoltre anche la direttiva PHPIniDir
questa ultima cita “C:/php” che andrebbe ridenominata!
—
Per ora introduco, quindi, “SOLO la modifica sul modulo” e riavvio il computer
(ho fatto salva)
dopo avere mutato:
stato(0)
LoadModule php838_module “c:/php838/php8apache2_4.dll”
stato(1)
LoadModule php_module “c:/php838/php8apache2_4.dll”
—
ore 14.00 del 21.06.2024
eureka! la sola modifica sul modulo ha funzionato!
quindi dovrò cambiare la esposizione della pagina che sto scrivendo (vedi i commenti “ritorno all futuro“), ma riprendo a seguire il video n.1:
https://www.youtube.com/watch?v=qpPYYX-i1cs
siamo al minuto 13.13 del video per realizzare la installazione di mysql:
—
22.06.2024:
il video installa la seguente versione:
versione (del video): 8.0.21
32 e 64 bit
tramite installer MSI
(1) 24 MB
(2) 227 MB
—
mio computer:
con l’ausilio del downloader
408 GB liberi, su 476 totali
—
il video sceglie la versione più ampia di installer 427 MB
—
io scelgo la 8.0.37
con installer: 296.1 MB
di dimensioni maggiori vedi:
mi propone -il video n.1- di fare la scelta “account > no thanks”
inizio download
alle 11.43
11.45 completato il dowload dell’installer MSI (dim: 303.240 MB)
il nome del file è
mysql-installer-community-8.0.37.0.msi
—
Per seguire il video, dopo la installazione, dal menù “start” fare click sulla “scritta”: “MySQL 8.0 command line client”
foto della command linea client:
al minuto 21.27 del video modifiche al php
- aprire php.ini (C:\php838\php.ini)
- cerca “extension_dir”
- ; On windows:
extension_dir = “ext” - cerca “mysqli”
abilita alcune delle seguenti togliendo il ;
; The ldap extension must be before curl if OpenSSL 1.0.2 and OpenLDAP is used
; otherwise it results in segfault when unloading after using SASL.
; See https://github.com/php/php-src/issues/8620 for more info.
;extension=ldap
;extension=curl
;extension=ffi
;extension=ftp
extension=fileinfo ; 0 questo è un commento numerico
extension=gd ; 1
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
extension=mbstring ; 2
extension=exif ; 3; Must be after mbstring as it depends on it
extension=mysqli ; 4
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=oci8_19 ; Use with Oracle Database 19 Instant Client
;extension=odbc
extension=openssl ; 5
;extension=pdo_firebird
extension=pdo_mysql; 6
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
extension=pdo_sqlite ; 7
;extension=pgsql
;extension=shmop
siamo al minuto 23 del video
—
salvare e riavvio (Nota Bene: non ho messo i commenti numerici ed i codici sono leggermente diversi)
—
installazione terminata.
Sul video vi sono alcuno consigli per le prime manovre elementari sulla configurazione.
23.06.2024 ultimo aggiornamento.
—
C’è però un altra modifica da fare:
Dice che però la estensione “mysqli” non è stata recepita andando alle info che si vedono con localhost/index.php
Proviamo:
anche a me non ha preso il § myqli
propone di cambiare il percorso dove si trova la estensione come segue:
“;extension_dir = “ext””
(come prima) ma modificarla in modo più completo migliorando l’indirizzo come segue:
extension_dir =”C:\php838\ext”
Ho fatto riavvia da “servizi componenti”
Ora rilancio localhost/index.php
Stavolta abbiamo il § mysqli seguente:
Siamo al minuto 25.29 del video.
ultimo aggiornamento: 27.06.2024
—
riandiamo al video: https://www.youtube.com/watch?v=qpPYYX-i1cs
al minuto 26:
propone:
<?php
$con = mysqli_connect(“localhost”,”root”,”mypassword*”,”mytestdb”);
// Check connection
if (!$con){
echo mysqli_connect_error();
die();
}
echo “Database Connected Successfully”;
?>
Viceversa va aggiornato il php come segue:
vedi fonte:
Example – Procedural style
https://www.w3schools.com/php/func_mysqli_connect_error.asp
<?php
$con = mysqli_connect(“localhost”,“my_user”,“my_password”,“my_db”);
// Check connection
if (mysqli_connect_errno()) {
echo “Failed to connect to MySQL: “ . mysqli_connect_error();
exit();
}
?>
che io ho leggermente modificato così:
<?php
$con = mysqli_connect(“localhost”,”root”,”mypassword”,”mytestdb”);
// Check connection
if (mysqli_connect_errno()) {
echo “Failed to connect to MySQL: ” . mysqli_connect_error();
exit();
}
echo “ok connection”;
?>
Nota Bene: al posto di “mypassword” ho scritto la vera password!
quella creata in fase di installazione
il file qui sopra in php lo chiamo:
index2.php
e lo lancio da browser come ..
localhost/index2.php
Naturalmente deve essere depositato al link
C:\Apache24\htdocs\index2.php
—
stop del video: minuto 26.31
—
ALBERO DEI ARTICOLI sul tema INFORMATICA:
- apache+php+mysql (146)
https://6viola.it/apachephpmysql/ - phpMyAdmin (studio) (147)
https://6viola.it/phpmyadmin-studio/ - forms e il software php che elabora i forms (studio) (148)
https://6viola.it/forms-e-il-software-php-che-elabora-i-forms-studio/ - metodi di accesso ai data base mysql (149)
https://6viola.it/metodi-di-accesso-ai-data-base-mysql/ - load dati in tabelle MySQL da file txt / csv (150)
https://6viola.it/load-dati-in-tabelle-mysql-da-file-txt-csv/ - Espansione delle basi di “dati da files in MySQL” e “dati in php versus MySQL” (151)
https://6viola.it/espansione-delle-basi-di-dati-da-files-in-mysql-e-dati-in-php-versus-mysql/
—
Albero degli articoli di scienza: https://6viola.it/a-m-pasquale-tufano-biografia-breve/
—
ultimo aggiornamento 02.07.2024, ore 17.24