В хостинге некоторые решения могут показаться вам нестандартными.
Поэтому перед началом работы мы бы рекомендовали ознакомиться с вводной статьей.
1. Как работать с настройками PHP
2. Как запускается PHP на хостинге
3. Работа с MySQL
4. Работа с Redis
5. Работа с Memcached
Для вашего удобства по умолчанию уже включены большинство необходимых для работы PHP модулей, поэтому обычно настройки PHP редактировать не требуется.
Если же есть необходимость изменить настройки PHP, то:
Пример настроек PHP для сайта mydomain.com в контейнере u37663
:
На хостинге для запуска PHP мы используем 3 компонента:
Nginx
, Apache
, FastCGI
. Рассмотрим каждый из них.
Обрабатывает входящие подключения, отдает статические файлы. Перенаправляет запросы в apache.
Мы используем Apache для совместимости с сайтами, которые полагаются на инструкции в файлах .htaccess.
Поэтому все инструкции в .htaccess обрабатываются стандартным образом.
При создании контейнера можно выбрать, использовать ли современное окружение или старое окружение.
В современном окружении доступны версии PHP от 5.6 до 7.3.
В старом окружении доступны версии PHP от 5.2 до 7.3.
В обоих случаях обработкой PHP занимается FastCGI.
У каждого сайта свой индивидуальный Apache.
MySQL доступен только через сокет /run/mysqld/mysqld.sock
и недоступен по сети.
Пример подключения к MySQL в PHP при помощи расширения mysqli.
<?php
$servername = "localhost";
$username = "c566_wp_c2_u37663_netangels_ru";
$password = "HeKriDapsonag31";
// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>
Сохраним этот код в файл mysql.php и разместим в каталоге с сайтом.
Если после открытия этого скрипта в браузере появляется сообщение Connected successfully
, то
подключение к MySQL прошло успешно.
На хостинге в Redis данные хранятся только в оперативной памяти и на диск не сохраняются. Из оперативной памяти данные очищаются при перезапуске сервиса, либо пока вы специально не удалите данные.
Пример подключения к Redis из PHP:
<?php
//Connecting to Redis server on localhost
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server was sucessfull";
//check whether server is running or not
echo "<br>Server is running: ".$redis->ping();
?>
Сохраним этот код в файл redis.php и разместим в каталоге с сайтом.
Подключение к Redis прошло успешно, если после открытия скрипта в браузере появляется сообщение
Connection to server was sucessfull
Server is running: +PONG
Пример подключения к Memcached и сохранения данных на 300 секунд.
<?php
$memcache_obj = memcache_connect('localhost', 11211);
memcache_set($memcache_obj, 'SC1_Terran_Ground_Units', 'SCV, Marine, Firebat, Medic, Ghost, Vulture, Siege Tank, Goliath', 0, 300);
echo memcache_get($memcache_obj, 'SC1_Terran_Ground_Units');
?>
Сохраним этот код в файл mem.php и разместим в каталоге с сайтом.
Подключение к Memcached прошло успешно, если после открытия скрипта в браузере появляется сообщение
SCV, Marine, Firebat, Medic, Ghost, Vulture, Siege Tank, Goliath