Prerequisiti
- Un server Vultr in esecuzione su Arch Linux aggiornato (vedi questo articolo .)
- Un server web in esecuzione, Apache o Nginx
- Accesso al Sudo.
- I comandi che devono essere eseguiti come root sono preceduti da
#. Il modo raccomandato per eseguire i comandi come root è, come utente normale, aggiungere un prefisso a ciascuno di essi sudo.
- Avere un editor di testo installato e conoscerlo, come vi, vim, nano, emacs o un editor simile
Installa PHP 7.3 sul tuo server web
Installa PHP e FastCGI per PHP:
# pacman -S php-fpm
Visita l'elenco dei fusi orari di PHP
Imposta il tuo fuso orario. Ad esempio, se hai scelto la categoria "America" e desideri utilizzare "New_York", modifica /etc/php/php.inie imposta quanto segue:
date.timezone = America/New_York
Avvia FastCGI per PHP e avvialo dopo ogni avvio:
# systemctl enable --now php-fpm
Configura PHP per il tuo server web.
Per Apache
Crea il file /etc/httpd/conf/extra/php-fpm.conf, con i seguenti contenuti. Assicurati di copiare esattamente così com'è; un errore comune è inserire spazi attorno al carattere pipe, ma questo non è un comando shell e non possono esserci spazi:
DirectoryIndex index.php index.html
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php-fpm/php-fpm.sock|fcgi://localhost/"
</FilesMatch>
Consenti ad Apache di utilizzare FastCGI modificando /etc/httpd/conf/httpd.confe aggiungi quanto segue alla fine dell'elenco LoadModule:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
Per consentire l'utilizzo dei .phpfile su tutti i siti Web ospitati da Apache, modificalo /etc/httpd/conf/httpd.confe aggiungilo fino alla fine. Se stai eseguendo più directory host; ad esempio host virtuali o directory HTTP / HTTPS separate; e vuoi consentire solo i .phpfile su alcuni di essi, modificare i loro file di configurazione. All'interno del VirtualHostblocco, aggiungere quanto segue:
Include conf/extra/php-fpm.conf
Infine, riavvia Apache:
# systemctl restart httpd
Per Nginx
Consenti a Nginx di utilizzare FastCGI per PHP creando il file /etc/nginx/php.confcon i seguenti contenuti:
# Correctly handle request like /test.php/foo/blah.php or /test.php/
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
try_files $uri $document_root$fastcgi_script_name =404;
# Mitigate <nowiki>https://httpoxy.org/</nowiki> vulnerabilities
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
Consenti a Nginx di utilizzare FastCGI modificando /etc/nginx/nginx.confe ad ogni blocco server con cui vuoi usare PHP, aggiungi quanto segue. In alternativa, se si utilizzano host virtuali, modificare il file di configurazione di ciascun host:
location ~ \.php$ {
root /usr/share/nginx/html/;
include php.conf;
}
Riavvia Nginx:
# systemctl restart nginx
Prova PHP
All'interno della directory appropriata, creare test.phpcon i seguenti contenuti:
<?php phpinfo(); ?>
In un browser web, visita http://YOUR-SERVER-WEB-ADDRESS-OR-IP/test.phpe vedrai una pagina web con la tua versione e configurazione di PHP.
Ricorda di eliminare il test.phpfile di test appena creato.