Документация

Работаем с PHP 5.4

Все сказанное про PHP 5.3 будет справедливо и для PHP 5.4. За исключением некоторых расширений, таких как rar, mongo, memcache (их еще нет под версию 5.4). Нет также и Zend Guard Loader и ionCube. Зато уже есть Xdebug :)

PHP 5.4 установлен как дополнительная версия PHP, наряду с PHP 5.3. Поскольку порт 9000 используется PHP 5.3, то PHP 5.4 необходим другой свободный порт, по умолчанию, мы берем порт 9054 (последние цифры условно указывают на версию, не более того). Настроить порт можно в файле php-cgi.conf в той же папке, где и php.ini для соответствующей версии PHP, в нашем случае это winginx\php54\php-cgi.conf. Эти же настройки можно сделать с использованием Winginx TM.

Несмотря на то, что версия 5.4 стала стабильной текущей версией PHP, он пока еще имеет ряд несовместимостей с другими расширениями и не находит широкой поддержки со стороны хостингов. Рекомендуется использовать эту версию все еще в эксперементальных целях.

Пример подключения двух версий PHP в одном сайте

Примечание от автора:
Не знаю, зачем это вобще может пригодиться, но предвосхищая вопросы, привожу пример :)

server {
  listen   127.0.0.1:80;
  server_name  test.local www.test.local;

  root home/test.local/public_html;
  index index.php index.html;

  log_not_found off;
  charset utf-8;

  access_log  logs/test.local-access.log  main;

  location ~ /\. {
    deny all;
  }

  location / {
  }

  # файлы с расширением .php отдаем PHP 5.3
  location ~ \.php$ {
    if (!-e $document_root$document_uri){
      return 404;
    }
    fastcgi_pass localhost:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

  # файлы с расширением .php54 отдаем PHP 5.4
  location ~ \.php54$ {
    if (!-e $document_root$document_uri){
      return 404;
    }
    fastcgi_pass localhost:9054;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

  # второй вариант - выделенный урл под PHP 5.4
  # все скрипты в папке http://test.local/php54/
  # будут обрабатываться как PHP 5.4
  location  /php54/ {
    location ~ \.php$ {
      if (!-e $document_root$document_uri){
        return 404;
      }
      fastcgi_pass localhost:9054;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include fastcgi_params;
    }
  }

}

В приведенном примере предполагается, что PHP 5.4 запускается на 9054 порту.

Winginx © Alexei Shabalin, 2011-2023