6 августа 2012 г.

Как установить и настроить NGINX+PHP+XDebug на Ubuntu 12.04

1. Установка NGINX-сервера:
sudo add-apt-repository ppa:nginx/stable 
sudo apt-get update 
sudo apt-get install nginx 


2. Установка PHP:

Если на вашем сервере php еще не установлен, то необходимо выполнить следующее:
sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql

В противном же случае достаточно установить пакет php5-fpm:
sudo apt-get install php5-fpm


3. Настройка виртуального хоста в NGINX

Открываем и редактируем файл  /etc/nginx/sites-available/default:

sudo gedit  /etc/nginx/sites-available/default

Для начала поменяем параметры root и index в секции server:

server{
...
    root: /var/www;
    index: index.php
...
}

Если вы уже пользуетесь веб-сервером apache, то для правильной работы nginx нужно будет поменять номер порта с 80 на 8000:

server{ 
 listen: 8000;
...
}

Убираем комментарии со следующих строк:

 location ~ \.php$ {
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 include fastcgi_params;
  }


4. Запускаем NGINX

sudo service nginx start

Также запускаем сервис, отвечающий за работу php:

sudo service php5-fpm start


5. Установка и настройка XDebug

Устанавливаем точно так же как описано в первой части статьи "Как настроить NetBeans для работы с XDebug"

Далее небходимо отредактировать файл /etc/php5/fpm/php.ini.
sudo gedit /etc/php5/fpm/php.ini


Перед тегом Date добавляем следующий код:
zend_extension="/usr/lib/php5/20090626/xdebug.so"

xdebug.default_enable = On
xdebug.var_display_max_depth=6
xdebug.remote_enable=on
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9900
xdebug.remote_handler=dbgp
xdebug.idekey=netbeans-xdebug
xdebug.remote_autostart=1
xdebug.remote_log=/tmp/xdebug.log
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0
xdebug.profiler_output_dir=/tmp/profiler
xdebug.show_local_vars=1
xdebug.overload_var_dump=1

... перезагружаем сервер


sudo service nginx restart


так как при перезагрузке сервера параметры php.ini автоматически не обновляются, необходимо также перезагрузить сервис php5-fpm:


sudo service php5-fpm restart


6. Настройка NetBeans

Открываем NetBeans Tools>Options>PHP>Debugging и в строке Debugger Port вводим значение 9900, нажимаем Ok.

На этом настройка завершена.

Осталось только поместить в /var/www тестовый файл index.php с кодом:

   

echo phpinfo();



3 комментария:

  1. I have been looking this information for a while because I am stick with its installation but now it will fine after see this post. Thanks and hoping you will share more information regarding PHP Web Development Services.

    ОтветитьУдалить
  2. Большое Вам спасибо за полезную информацию, позволяющую сэкономить уйму времени!

    ОтветитьУдалить
  3. Спасибо за инфу, хочу добавить что по дефолту таймаут стоит 30 сек, что может быть маловато, как увеличить написано например в этой статье: https://rtcamp.com/tutorials/php/increase-script-execution-time/

    ОтветитьУдалить