Обновление Пассворк 4→5 (Windows Server)
Этот инструкция описывает как обновить Пассворк с 4-ой до 5-ой версии для Windows Server. Пассворк 5-ой версии работает на PHP 8.0, поэтому кроме обновления исходного кода также потребуется установить новую версию PHP.
💡 Рекомендуем сделать бекап системы перед началом обновления
💡 Обратите внимание, необходимо установить именно PHP 8.0. PHP 8.1 на текущий момент не поддерживается
1.Скачать PHP 8.0 с официального сайта — https://windows.php.net/downloads/releases/php-8.0.26-nts-Win32-vs16-x64.zip
2.Проверить свойства архива. Снять свойство «заблокирован», если архив получил его при скачивании.
3.Распаковать архив.
4.Переместить папку с распакованным архивом (В данном примере путь C:\Program Files\php8)
5.Обновите VC++ Visual C++ Redistributable Packages for Visual Studio:
⬇️ https://download.visualstudio.microsoft.com/download/pr/b929b7fe-5c89-4553-9abe-6324631dcc3a/296F96CD102250636BCD23AB6E6CF70935337B1BBB3507FE8521D8D9CFAA932F/VC_redist.x64.exe
6.Перезагрузите систему.
Скачайте архивы с файлами расширений:
Проверьте свойства архивов и снимите свойство «заблокирован», если архивы получили его при скачивании.
Поместите файлы расширений в директорию — C:\Program Files\php8\ext
1.Скачайте и установите PHP Manager for IIS
⬇️ https://github.com/phpmanager/phpmanager/releases/download/v2.7/PHPManagerForIIS_x64.msi
2.Откройте «IIS Manager» и перейдите в «PHP Manager».
![Document image Document image](https://images.archbee.com/jvwmQL6VASLd-norgNd8V/Z8e8R-AJrEUEHs-TONRoy_image.png?format=webp)
3.Зарегистрируйте версию PHP указав путь к php-cgi.exe — «Register new PHP version».
4.Настройте путь для файла логов «Configure error reporting»:
![Document image Document image](https://images.archbee.com/jvwmQL6VASLd-norgNd8V/bL7kmiHc8f-izYIWhwLDp_image.png?format=webp)
5.Добавьте ранее распакованные расширения «Add an extension», а также включите необходимые и отключите ненужные «Enable or disable an extension». Итоговый список расширений:
![Document image Document image](https://images.archbee.com/jvwmQL6VASLd-norgNd8V/VYzZQQ3OFOrZeeml0Uf5n_image.png?format=webp)
Скопируйте php.ini из версии PHP 7, которая была установлена ранее и изменить следующие строки:
![Document image Document image](https://images.archbee.com/jvwmQL6VASLd-norgNd8V/-rx-GHlzzdjfR5VrnnvPH_image.png?format=webp)
- Переименуйте папку C:\inetpub\wwwroot\ → C:\inetpub\wwwroot-old\
- Создайте новую папку C:\inetpub\wwwroot\
- Извлеките архив и скопируйте содержимое в директорию C:\inetpub\wwwroot\
1.Откройте IIS Manager, нажмите правой кнопкой на вебсайт и выберите «Edit permissions».
![Document image Document image](https://images.archbee.com/jvwmQL6VASLd-norgNd8V/hDiLX8VgoJizS8nFDRCKE_image.png?format=webp)
2.Нажмите «Edit», затем «Add» найдите «IUSR» аккаунт. Выберите в списке «IUSR» и разрешите «Write» и «Modify» опции, затем нажмите «Ok» два раза.
![Document image Document image](https://images.archbee.com/jvwmQL6VASLd-norgNd8V/oxJt62D0pC2B1HIYFdZCn_image.png?format=webp)
Скопируйте файл C:\inetpub\wwwroot-old\app\config\config.ini → C:\inetpub\wwwroot\app\config\config.ini
Если вы используете HTTPS проверьте, включите параметр ;session.cookie_secure в файле C:\Program Files\php8\php.ini
Дважды щелкните на значке «URL Rewrite». Нажмите «Импорт правил» и выберите файл .htaccess из корневого каталога сайта, затем нажмите кнопки «Open» и «Import».
![Document image Document image](https://images.archbee.com/jvwmQL6VASLd-norgNd8V/e0rf5eW6Pt1ZgteU0KKgj_image.png?format=webp)
После импорта нажмите кнопку «Apply».
Фоновые задачи — это задачи, которые выполняются по планировщику в фоновом режиме. Например, синхронизация LDAP, загрузка фавиконов и другие задачи, которые требует много времени, постоянного выполнения или распределения ресурсов.
1.Иногда, после изменения версии PHP в IIS, настройки для index.php исчезают. Проверьте, есть ли запись для index.php в «Default Document», если запись отсутствует, добавьте ее:
![Document image Document image](https://images.archbee.com/jvwmQL6VASLd-norgNd8V/SX6y87w2HZTo4Nxe5WW57_image.png?format=webp)
2.Мы также рекомендуем вам проверить журнал PHP и путь, который вы ранее указали в php.ini. Если вы видите ошибку — The session save path [C:\Windows\temp] is not writable, назначьте права на запись на эту папку пользователям IUSR или NETWORK SERVICE.
3.Убедитесь, что расширения php_psr.dll, php_mongodb.dll, php_phalcon.dll были доступны в «PHP Manager» → «PHP Extensions»:
![Document image Document image](https://images.archbee.com/jvwmQL6VASLd-norgNd8V/3qd6oXMv4AKXl9bml5bds_image.png?format=webp)