Batalla de VirtualHost / Users / myusername / Sites / foo ~ / bar Error interno del servidor durante días intentando adjuntar localhost / ~ myusername a Apache / 2.4.28 http server en macOS 10.13 .3 El teatro de operaciones de High Sierra no funciona de acuerdo con ningún plan:
Apache no funciona con la carpeta Sitios del usuario en macOS 10.13 High Sierra
Configurar hosts virtuales en macos High Sierra 10.13 en Apache
Configurar localhost en macOS High Sierra (Apache, MySQL y PHP 7) con SSL / HTTPS
Mi pregunta es, por supuesto, muy similar a la de Fyfe: Apache no funciona con la carpeta de Sitios de usuario en macOS 10.13 High Sierra excepto que no necesito mantener ningún / Biblioteca / Servidor web / Documentos como no había ninguno, solo quiero Usuarios / nombre de usuario / Sitios para ser operativos.
De hecho, veo este problema de nombre de usuario y servidor de Apache por todas partes, ¿qué es más central para el desarrollo web que el que solo se conecta a tu maldito servidor? Parece que solo hay dos tipos de desarrolladores ~ / foo: "¡Acabo de hacer esto y funciona perfectamente!" y ~ / bar: "Hice todo eso y nada funciona". Bueno, la pregunta de Fyfe del 27 de septiembre de 17 tiene 15 respuestas y seguimos contando, el último es el 1 de febrero de 18, sin marca de verificación verde .
Una vez más, no había configurado o estado usando Apache, php o vhosts en Sierra, así que no necesito mantener / Biblioteca / Servidor web / Documentos ya que no había ninguno, el comando VirtualHost *: 80 se agregó a continuación para mantener la opción abierta , aunque solo estoy tratando de hacer que los Usuarios / myusername / Sites / foo y ~ / bar funcionen.
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
- Los comandos de PHP 7 no funcionan
- localhost / ~ myusername = > Error interno del servidor
- foo.localhost = > resultados de búsqueda de Google "foo.localhost" = > caca
- localhost = > Prohibido no tiene permiso para acceder a / en este servidor
Es hora de llamar a los ataques aéreos ... todo lo que tengo aquí es FUBAR
ACTUALIZACIÓN DE LA SOLUCIÓN: ¡klanomath sacó los primeros objetivos, Tanques! localhost / ~ myusername y enlace están funcionando.
Sin embargo ... Arrg ... al ingresar a localhost / ~ myusername php parece ejecutar este archivo /Sites/index.php, en el que aparece la carpeta "¡Hola de los sitios!" y aparece la página de phpinfo 7.1.7:
<?php
echo "Hello From Sites Folder!";
phpinfo();
?>
Sin embargo, esta combinación php index.html y example.php aparentemente no se ejecuta
<?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 (ambos en el directorio foo)
<?php
$greeting = 'Hello, PHP World!';
echo '<h1>' . $greeting . '</h1>';
?>
donde se hace doble clic en /Sites/foo/index.html simplemente se abre una página de impresión
Hello, World!
Welcome to Foo.
echo $greeting (instead of Hello, PHP World!)