Apr 05, 2011 14:52
При установке php из портов сконфигурировать его как fastCGI,
При сборке проверить опцию --enable-cli
тогда его можно запустить как сервер через скрипт в /usr/local/etc/rc.d при переменной php_fpm_enable="YES" в /etc/rc.conf
Конфиг этого сервиса живет в /usr/local/etc/php-fpm.confwhereis php
Для проверки
php -i (вызов phpinfo(); -m информация о модулях; -l проверка синтаксиса в файле-аргументе)
Простейший запуск функций пхп в коммандной строке
php -r print_r(get_defined_constants());
Выполнение интерпретатором php файла: php php_file_name.php
Файл echo.php запускаемый на исполнение:
#!/usr/local/bin/php
исполнить: ./echo.php
Чтобы в нжинксе работал php пишем в /usr/local/etc/nginx/nginx.conf
http{ ...
server { ...
location / {
fastcgi_pass localhost:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/www/nginx$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
#Параметр SCRIPT_FILENAME используется в PHP для определения имени скрипта,
#а в параметре QUERY_STRING передаются параметры запроса. Настройки ниже не обязательны.
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
#Три строчки выше позволяют использовать метод POST
}}}
При такой настройке будем исполнять index.php если URI заканчивается на / , в других случаях имя после / соответствует имени исполняемого скрипта.
Если PHP был собран с параметром конфигурации --enable-force-cgi-redirect, то нужно передавать параметр REDIRECT_STATUS со значением "200":
fastcgi,
по горячим следам,
nginx,
php