Я пытаюсь получить доступ к моему проекту на странице index.php, которая использует фреймворк Slim на моем localhost.
Я создал символическую ссылку на /home/user/public_html из /var/www/html Я разрешил все разрешения с chmod 777 в public_html Мой проект находится на /home/user/public_html Здесь это мой файл .htaccess:RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
Я могу получить доступ к файлу php, который содержит phpinfo(). Он расположен на /public_html mod_rewrite включен. Я не использую VirtualHost. Может быть, проблема?
Измените файл .htaccess на:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
, чтобы разрешить работу символических ссылок
. В дополнение к вышеуказанным настройкам я вижу, что у вас есть дополнительная папка, называемая M1-CSI в public_html ссылке в /var/www/htnl. Теперь обратите внимание, что apache использует /var/www/html в качестве корневой папки, поэтому ваш index.php находится в /var/www/html из папки для вашего проекта, расположенного в /var/www/html/project_folder.
Так что настройте slim в /home/user/public_html и public_html в качестве root для slim. Ваша символическая ссылка должна была быть ... sudo ln -s /home/user/public_html /var/www/html/ с папкой /public_html как root. Чтобы использовать M1-CSI, вам нужно будет использовать файл Virtualhost и, конечно, выровняйте свою require vendor/autoload.php строку до require ../vendor/autoload.php.
Еще одно замечание заключается в том, что ваше владение root теперь не является Я думаю, что вы хотите, чтобы пользователь www-data отвечал за эти файлы. Добавьте себя в эту группу:
sudo usermod -a -G www-data $USER
Затем измените право собственности на этот файл на:
sudo chown -R $USER.www-data /var/www/html/public_html
sudo chmod -R 755 /var/www/html/public_html
Примечание. Для получения нового набора групп потребуется перезагрузка [ ! d6]
Как настроить мой проект slim, используя эту ссылку:
Создал папку в /var/www/html, названную askubuntu cd /var/www/html/askubuntu composer require slim/slim "^3.0" Затем создал файл index.php в askubuntu со следующими строками:<?php
require 'vendor/autoload.php';
echo "Hello World slim framework!";
?>
Откройте мой браузер и введите: localhost/askubuntu, и он печатает ожидаемый вывод. Измените файл .htaccess на:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
, чтобы разрешить работу символических ссылок
. В дополнение к вышеуказанным настройкам я вижу, что у вас есть дополнительная папка, называемая M1-CSI в public_html ссылке в /var/www/htnl. Теперь обратите внимание, что apache использует /var/www/html в качестве корневой папки, поэтому ваш index.php находится в /var/www/html из папки для вашего проекта, расположенного в /var/www/html/project_folder.
Так что настройте slim в /home/user/public_html и public_html в качестве root для slim. Ваша символическая ссылка должна была быть ... sudo ln -s /home/user/public_html /var/www/html/ с папкой /public_html как root. Чтобы использовать M1-CSI, вам нужно будет использовать файл Virtualhost и, конечно, выровняйте свою require vendor/autoload.php строку до require ../vendor/autoload.php.
Еще одно замечание заключается в том, что ваше владение root теперь не является Я думаю, что вы хотите, чтобы пользователь www-data отвечал за эти файлы. Добавьте себя в эту группу:
sudo usermod -a -G www-data $USER
Затем измените право собственности на этот файл на:
sudo chown -R $USER.www-data /var/www/html/public_html
sudo chmod -R 755 /var/www/html/public_html
Примечание. Для получения нового набора групп потребуется перезагрузка [ ! d6]
Как настроить мой проект slim, используя эту ссылку:
Создал папку в /var/www/html, названную askubuntu cd /var/www/html/askubuntu composer require slim/slim "^3.0" Затем создал файл index.php в askubuntu со следующими строками:<?php
require 'vendor/autoload.php';
echo "Hello World slim framework!";
?>
Откройте мой браузер и введите: localhost/askubuntu, и он печатает ожидаемый вывод. Измените файл .htaccess на:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
, чтобы разрешить работу символических ссылок
. В дополнение к вышеуказанным настройкам я вижу, что у вас есть дополнительная папка, называемая M1-CSI в public_html ссылке в /var/www/htnl. Теперь обратите внимание, что apache использует /var/www/html в качестве корневой папки, поэтому ваш index.php находится в /var/www/html из папки для вашего проекта, расположенного в /var/www/html/project_folder.
Так что настройте slim в /home/user/public_html и public_html в качестве root для slim. Ваша символическая ссылка должна была быть ... sudo ln -s /home/user/public_html /var/www/html/ с папкой /public_html как root. Чтобы использовать M1-CSI, вам нужно будет использовать файл Virtualhost и, конечно, выровняйте свою require vendor/autoload.php строку до require ../vendor/autoload.php.
Еще одно замечание заключается в том, что ваше владение root теперь не является Я думаю, что вы хотите, чтобы пользователь www-data отвечал за эти файлы. Добавьте себя в эту группу:
sudo usermod -a -G www-data $USER
Затем измените право собственности на этот файл на:
sudo chown -R $USER.www-data /var/www/html/public_html
sudo chmod -R 755 /var/www/html/public_html
Примечание. Для получения нового набора групп потребуется перезагрузка [ ! d6]
Как настроить мой проект slim, используя эту ссылку:
Создал папку в /var/www/html, названную askubuntu cd /var/www/html/askubuntu composer require slim/slim "^3.0" Затем создал файл index.php в askubuntu со следующими строками:<?php
require 'vendor/autoload.php';
echo "Hello World slim framework!";
?>
Откройте мой браузер и введите: localhost/askubuntu, и он печатает ожидаемый вывод.