apache+php+mysql

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);

?>

Inoltre antepone il segno “-“
per studiare la faccenda esporto sul simulare del pc apple portatile dove ho un interpreter di php

 

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:

  1. nel file: httpd.conf di apache all’indirizzo: C:\Apache24\conf\httpd.conf
  2. 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>
  3. poiché ho aggiunto la scritta “index.php”
  4. adesso devo salvare il file httpd.conf e riavviare il server apache. Per fare ciò il video fa le seguenti operazioni:
  5. minuto 11.55
  6. sono riuscito ad arrestare il servizio, ma non a riavviarlo perché non sto nell’account amministratore.
  7. entro in cmd come amministratore (da cerca metto cmb) e rifaccio partire apache
  8. esattamente devo cambiare directory e poi start
  9. 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:

  1. 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”
  2. 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:

  1. apache+php+mysql (146)
    https://6viola.it/apachephpmysql/
  2. phpMyAdmin (studio) (147)
    https://6viola.it/phpmyadmin-studio/
  3. forms e il software php che elabora i forms (studio) (148)
    https://6viola.it/forms-e-il-software-php-che-elabora-i-forms-studio/
  4. metodi di accesso ai data base mysql (149)
    https://6viola.it/metodi-di-accesso-ai-data-base-mysql/
  5. load dati in tabelle MySQL da file txt / csv (150)
    https://6viola.it/load-dati-in-tabelle-mysql-da-file-txt-csv/
  6. 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/

A. M. Pasquale Tufano [biografia breve]

ultimo aggiornamento 02.07.2024, ore 17.24