У меня есть веб-сайт, который работает без проблем в WAMP. Недавно я переместился в Ubuntu, таким образом, я установил ЛАМПУ, и все выглядит хорошо: localhost
в браузере показывает Страницу Значения по умолчанию Apache2 Ubuntu.
Созданный info.php файл с содержанием:
<?php
phpinfo();
?>
Доступ к файлу с http://localhost/info.php
в браузере работает и отображает php информацию.
Но пытаясь получить доступ к моему веб-сайту с http://localhost/index.php
не загружает веб-сайт. Я вставил все необходимые файлы var/www/html
папка (где info.php файл также и работы).
Есть ли что-либо еще, что я должен сделать, чтобы смочь загрузить мой веб-сайт?
Дополнительная информация: файл /etc/apache2/mods-enabled/dir.conf
имеет ниже содержания:
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Редактирование 1:
ls -la /var/www/html/in*
перечислит 3 файла, которые я имею:
-rw-r--r-- 1 root root 10918 Jul 21 19:18 /var/www/html/index.html
-rwxrwxrwx 1 mihail-cosmin mihail-cosmin 3931 Apr 26 2017 /var/www/html/index.php
-rw-r--r-- 1 root root 20 Jul 21 20:55 /var/www/html/info.php
index.html
и info.php
работа, они принадлежат корню группы и пользователю. index.php
то, которое не работает, принадлежит моему пользователю и группе
Я установил пользователя и группу в etc/apache2/envvars, но это все еще не работает:
export APACHE_RUN_USER=mihail-cosmin
export APACHE_RUN_GROUP=mihail-cosmin
Редактирование 2:
Я понял, что в Windows I использовал более старую версию PHP, более точно: PHP 5.6. Я возвратился на окнах и изменил версию в WAMP к более новому, и мой веб-сайт прекратил работать там также, очевидно.
На Ubuntu я установил более старую версию 5.6 и изменил ее для Apache также:
sudo a2enmod php5.6
Considering dependency mpm_prefork for php5.6:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php5.6:
Enabling module php5.6.
To activate the new configuration, you need to run:
systemctl restart apache2
Но тем не менее мой веб-сайт не работает.
Я нашел решение. Я добавлю все шаги, которые я сделал, на всякий случай это поможет кому-то еще при перемещении от Windows до Ubuntu.
1. Не было никакой причины, почему мой веб-сайт не должен был работать. Таким образом, проблемой, должно быть, был код внутри index.php. Таким образом, первая вещь, которую необходимо сделать, активируют php ошибки. Таким образом, я добавил это в своем index.php:
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
2. Первая ошибка, которую я получил, была о пути к другим php файлам. Вероятно, из-за различий между Windows и Ubuntu.
Warning: require_once(/main/dbconnect.php): failed to open stream: No such file or directory in /var/www/html/index.php on line 7
Fatal error: require_once(): Failed opening required '/main/dbconnect.php' (include_path='.:/usr/share/php') in /var/www/html/index.php on line 7
Решение для этого состояло в том, чтобы добавить точку перед путем./main/dbconnect.php
3. После этого я получил новую ошибку о соединении с базой данных SQL:
Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in /var/www/html/main/dbconnect.php on line 4
ERROR: Could not connect. Access denied for user 'root'@'localhost' (using password: YES)
Проблема, это время было то, что пароль имел специальные символы. Решение состояло в том, чтобы изменить пароль на что-то простое, как 12 345.
После того, как этот мой веб-сайт начал работать.
В заключении полное решение состояло в том, чтобы адаптировать код в моих файлах к системе Ubuntu.