Как использовать PHP 5.6 в Winginx

Я хотел бы использовать php 5.6 с Winginx.

Я попытался создать папку php56 и поместить в нее пакет php, но php-config.exe не увидит эту папку.

Как я могу настроить эту версию PHP в Winginx?

0

Решение

<?php
/*
After applying this patch you can use "php56", "php70" and "php71"folders in the root directory of winginx.
*/
function patch($file, $offset, $old_data, $new_data) {
if (!$f = fopen($file, 'r+b')) {
die("Can not open $file");
}
fseek($f, $offset);
$c = fread($f, strlen($old_data));
if ($c == $old_data) {
fseek($f, $offset);
fwrite($f, $new_data, strlen($new_data));
echo "$file patched successfully\n";
} else if ($c != $new_data) {
die("$file can not be patched\n");
}
fclose($f);
}
patch('winginx.exe', 0x0A6254, 2, 6); // 5.2 -> 5.6
patch('winginx.exe', 0x0A6258, 5, 7);
patch('winginx.exe', 0x0A625C, 3, 0); // 5.3 -> 7.0
patch('winginx.exe', 0x0A6260, 5, 7);
patch('winginx.exe', 0x0A6264, 4, 1); // 5.4 -> 7.1

patch('winginx.exe', 0x0AD2DC, 2, 6); // 5.2 -> 5.6
patch('winginx.exe', 0x0AD2EA, 5, 7);
patch('winginx.exe', 0x0AD2EC, 3, 0); // 5.3 -> 7.0
patch('winginx.exe', 0x0AD2FA, 5, 7);
patch('winginx.exe', 0x0AD2FC, 4, 1); // 5.4 -> 7.1

patch('php-config.exe', 0x014FCE, 2, 6); // 5.2 -> 5.6
patch('php-config.exe', 0x014FDC, 5, 7);
patch('php-config.exe', 0x014FDE, 3, 0); // 5.3 -> 7.0
patch('php-config.exe', 0x014FEC, 5, 7);
patch('php-config.exe', 0x014FEE, 4, 1); // 5.4 -> 7.1

echo "Done\n";

обновить MySQL до последней версии 5.7:

  • скачать последнюю версию почтового индекса
  • Распакуйте файл mysqld.exe и поделитесь папкой с папкой mysqll на winginx.
  • используйте этот my.ini

    [mysqld]
    basedir=../mysql
    datadir = data
    bind-address = 127.0.0.1
    socket=mysql.sock
    log_syslog=0
    log_error_verbosity=1 # 1=errors; 2=+warnings; 3=+notices
    
  • переименовать папку с данными в другое (для резервного копирования данных)
  • беги от MySQL

    ./mysqld.exe --initialize-insecure --console --datadir=data --basedir=../mysql
    

nginx, nodejs и redis могут быть обновлены таким же образом. скачать последнюю версию, заменить двоичные файлы и играть с конфигами

2

Другие решения

<?php
/*
After applying this patch you can use "php56" and "php70"folders in the root directory of winginx.
*/
function patch($file, $offset, $old_data, $new_data) {
if (!$f = fopen($file, 'r+b')) {
die("Can not open $file");
}
fseek($f, $offset);
$c = fread($f, strlen($old_data));
if ($c == $old_data) {
fseek($f, $offset);
fwrite($f, $new_data, strlen($new_data));
echo "$file patched successfully\n";
} else if ($c != $new_data) {
die("$file can not be patched\n");
}
fclose($f);
}
patch('winginx.exe', 0x0A6254, 2, 6);
patch('winginx.exe', 0x0AD2DC, 2, 6);

patch('winginx.exe', 0x0AD258 5, 7);
patch('winginx.exe', 0x0AD25C 3, 0);
patch('winginx.exe', 0x0AD2EA 5, 7);
patch('winginx.exe', 0x0AD2EC 3, 0);

patch('php-config.exe', 0x014FCE, 2, 6);
patch('php-config.exe', 0x014FDC, 5, 7);
patch('php-config.exe', 0x014FDE, 3, 0);

echo "Done\n";
2

Вы можете сделать это,

Настройки PHP;
Сначала скачайте на php ( http://windows.php.net/download/ ) и скопировать в C: / php.
После, создайте php64.bat на рабочем столе и напишите внутрь C: \ php \ php-cgi.exe -b 127.0.0.1:5800, запустите файл.

Настройки Winginx;
перейдите на вкладку «Конфигурация сервера»;
Найти:

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9054;

Заменить:

location ~ \.php$ {
fastcgi_pass 127.0.0.1:5800;

После, сохраните и перезапустите nginx.

0

Пытаться…

Для php 5.6.7 — https://github.com/z2z/winginx_php56

Для MySQL или Мариадб — https://gist.github.com/z2z/eb3d1415c2521da76b20

Для nGinx — вы напрямую заменяете nginx.exe на последнюю.

0

Здесь вы: https://www.dropbox.com/s/10mkdporeils7ct/winginx_php56_support.exe
Я просто reedit и теперь он поддерживает php 5.6.

Просто скачайте с php.net 5.6 php и поместите в winginx_folder / php56
Также вам нужно скопировать конфиг php-cgi из предыдущей версии.

-1
По вопросам рекламы [email protected]