Battle of VirtualHost / Users / myusername / Sites / foo ~ / bar Errore interno del server per giorni tenta di collegare localhost / ~ myusername al server http Apache / 2.4.28 su macOS 10.13 .3 Il teatro delle operazioni di High Sierra non va secondo alcun piano:
Apache non funziona con la cartella Siti dell'utente su macOS 10.13 High Sierra
Configura host virtuali su macos High Sierra 10.13 in Apache
Configura localhost su macOS High Sierra (Apache, MySQL e PHP 7) con SSL / HTTPS
La mia domanda è ovviamente molto simile a quella di Fyfe: Apache non funziona con la cartella Siti dell'utente su macOS 10.13 High Sierra tranne che non ho bisogno di mantenere alcun / Library / Webserver / Documenti poiché non ce n'erano, voglio solo Users / myusername / Siti per essere operativi.
In effetti, vedo questo problema del server-username Apache dappertutto, che cosa c'è di più centrale nello sviluppo del web rispetto a uno che si connette semplicemente al proprio server? Così sembra che ci siano solo due tipi di sviluppatori ~ / foo: "Ho appena fatto questo e funziona perfettamente!" e ~ / bar: "Ho fatto tutto questo e niente funziona." Bene, La domanda di Fyfe del 27 settembre 17 ha 15 risposte e il conteggio, l'ultima è il 1 ° febbraio 18 con nessun segno di spunta verde .
Anche in questo caso, non avevo impostato o utilizzato Apache, php o vhosts in Sierra, quindi non ho bisogno di mantenere / Library / Webserver / Documents perché non ce n'erano, VirtualHost *: 80 comando aggiunto sotto per mantenere l'opzione aperta , anche se sto solo cercando di ottenere utenti / myusername / Sites / foo e ~ / bar per funzionare.
sudo apachectl configtest
Syntax OK
php -v
PHP 7.1.7
/etc/apache2/extra/https-vhosts.conf
#Enable PHP interpretation within HTML files
<FilesMatch ".+\.html$">
SetHandler application/x-httpd-php
</FilesMatch>
<VirtualHost *:80>
ServerName localhost
DocumentRoot /Library/WebServer/Documents/
</VirtualHost>
#VIRTUAL HOST ENTRY FOR foo.localhost
<VirtualHost *:80>
DocumentRoot "/Users/myusername/Sites/foo"
ServerName foo.localhost
ErrorLog "/private/var/log/apache2/foo-error_log"
CustomLog "/private/var/log/apache2/foo-access_log" common
</VirtualHost>
#VIRTUAL HOST ENTRY FOR bar.localhost
<VirtualHost *:80>
DocumentRoot "/Users/myusername/Sites/bar"
ServerName bar.localhost
ErrorLog "/private/var/log/apache2/bar-error_log"
CustomLog "/private/var/log/apache2/bar-access_log" common
</VirtualHost>
/ etc / hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
#Local myusername/Sites
127.0.0.1 foo.localhost
127.0.0.1 bar.localhost
#Map your IP address to localhost
127.0.0.1 apple.com www.apple.com
/etc/apache2/httpd.conf
# This is the main Apache HTTP server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
ServerRoot "/usr"
# User home directories
Include /private/etc/apache2/extra/httpd-userdir.conf
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
#User _www
#Group _www
User myusername
Group staff
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
LoadModule negotiation_module libexec/apache2/mod_negotiation.so
LoadModule dir_module libexec/apache2/mod_dir.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule alias_module libexec/apache2/mod_alias.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php7_module libexec/apache2/libphp7.so
LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
/etc/apache2/extra/httpd-userdir.conf
Include /private/etc/apache2/users/*.conf
- I comandi di PHP 7 non funzionano
- localhost / ~ myusername = > Errore interno del server
- foo.localhost = > ricerca google "foo.localhost" results = > poo
- localhost = > Vietato negare il permesso di accesso / su questo server
È ora di chiamare attacchi aerei ... tutto quello che ho qui è FUBAR
AGGIORNAMENTO DELLA SOLUZIONE: klanomath ha eliminato i primi bersagli, Tanks! funzionano localhost / ~ myusername e link .
Tuttavia ... Arrg ... quando si digita localhost / ~ myusername php sembra eseguire questo file /Sites/index.php, in cui "Hello From Sites Folder!" e arriva la pagina 7.1.7 phpinfo:
<?php
echo "Hello From Sites Folder!";
phpinfo();
?>
Tuttavia questa combinazione php index.html e example.php apparentemente non viene eseguita
<?php
date_default_timezone_set('UTC');
$day = date('l');
?>
<!doctype html>
<html>
<head>
<title>Hello, World! | Foo</title>
</head>
<body>
<h1>Hello, World!</h1>
<p>Welcome to <strong>Foo</strong>.</p>
echo $greeting
</body>
</html
example.php (entrambi nella directory foo)
<?php
$greeting = 'Hello, PHP World!';
echo '<h1>' . $greeting . '</h1>';
?>
in cui si fa doppio clic su /Sites/foo/index.html si apre solo una stampa della pagina
Hello, World!
Welcome to Foo.
echo $greeting (instead of Hello, PHP World!)