Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Перенастроил сервер - не могу поднять пхп
Форумы портала PHP.SU » Серверное администрирование » Администрирование *nix » Перенастроил сервер - не могу поднять пхп

Страниц (1): [1]
 

1. fainto - 25 Июня, 2012 - 20:44:44 - перейти к сообщению
забыл указать в названии темы: ошибка заключается в выдаче No input file specified. для всех пхп скриптов

Самому разобраться с ошибкой явно не выходит, тем-более что с подобной конфигурацией уже работал, так-что выкладываю все детали и надеюсь на помощь тут.

Имеется сервер (Ubuntu 10.04 LTS Lucid Lynx (32) c рут доступом.
В качестве веб-сервера установлен Nginx, php работает на php5-fpm (fastcgi upstream backend), без участия апача.
Основные файлы конфигурации ниже:

nginx.conf
CODE (text):
скопировать код в буфер обмена
  1. user                    www-data;
  2. worker_processes        8;
  3. error_log               /webcfgs/error.log;
  4. pid                     /var/run/nginx.pid;
  5. events {
  6.                         worker_connections  1024;
  7. }
  8. http {
  9.     include             /etc/nginx/mime.types;
  10.     client_max_body_size 100m;
  11.     access_log          /var/log/nginx/access.log;
  12.     sendfile            on;
  13.     keepalive_timeout   65;
  14.     tcp_nodelay         on;
  15.     gzip                on;
  16.     gzip_min_length     1000;
  17.     gzip_proxied        any;
  18.     gzip_types          text/plain ext/html text/xml application/xml application/x-javascript text/javascript text/css text/json;
  19.     gzip_disable        "msie6";
  20.     gzip_comp_level     8;
  21.     charset             utf-8;
  22.     include             /etc/nginx/conf.d/*.conf;
  23.     include             /etc/nginx/sites-enabled/*;
  24. }


Виртуальный хост
CODE (text):
скопировать код в буфер обмена
  1. upstream backend-fntrsh {server unix:/var/run/php5-fntrsh.sock;}
  2. server {
  3. listen faintrush.eu;
  4. server_name faintrush.eu www.faintrush.eu;
  5. root /web/fntrsh/public;
  6. access_log /web/fntrsh/log/access.log;
  7. error_log /web/fntrsh/log/error.log;
  8. rewrite_log on;
  9.  
  10. location = / {
  11. index index.php index.html;
  12. }
  13.  
  14. location ~ \.php$ {
  15. include fastcgi_params;
  16. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  17. fastcgi_pass backend-fntrsh;
  18. fastcgi_intercept_errors on;
  19. }
  20. location ~ /\.ht {
  21. deny all;
  22. }
  23. }
  24.  
  25. server {
  26. listen faintrush.eu;
  27. server_name ~^(.*)\.faintrush.eu;
  28. root /web/fntrsh/sub/$1;
  29. access_log /web/fntrsh/log/access.log;
  30. error_log /web/fntrsh/log/error.log;
  31. location / {
  32. index index.php index.html;
  33. }
  34.  
  35. location ~ \.php$ {
  36. include fastcgi_params;
  37. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  38. fastcgi_pass backend-fntrsh;
  39. fastcgi_intercept_errors on;
  40. }
  41.  
  42. }


fastcgi_params
CODE (text):
скопировать код в буфер обмена
  1. fastcgi_param   QUERY_STRING            $query_string;
  2. fastcgi_param   REQUEST_METHOD          $request_method;
  3. fastcgi_param   CONTENT_TYPE            $content_type;
  4. fastcgi_param   CONTENT_LENGTH          $content_length;
  5.  
  6. fastcgi_param   SCRIPT_FILENAME         $request_filename;
  7. fastcgi_param   SCRIPT_NAME             $fastcgi_script_name;
  8. fastcgi_param   REQUEST_URI             $request_uri;
  9. fastcgi_param   DOCUMENT_URI            $document_uri;
  10. fastcgi_param   DOCUMENT_ROOT           $document_root;
  11. fastcgi_param   SERVER_PROTOCOL         $server_protocol;
  12.  
  13. fastcgi_param   GATEWAY_INTERFACE       CGI/1.1;
  14. fastcgi_param   SERVER_SOFTWARE         nginx/$nginx_version;
  15.  
  16. fastcgi_param   REMOTE_ADDR             $remote_addr;
  17. fastcgi_param   REMOTE_PORT             $remote_port;
  18. fastcgi_param   SERVER_ADDR             $server_addr;
  19. fastcgi_param   SERVER_PORT             $server_port;
  20. fastcgi_param   SERVER_NAME             $server_name;
  21.  
  22. #fastcgi_param  HTTPS                   $https;
  23.  
  24. # PHP only, required if PHP was built with --enable-force-cgi-redirect
  25. fastcgi_param   REDIRECT_STATUS         200;
  26.  


php5-fpm процесс:
CODE (text):
скопировать код в буфер обмена
  1. [fntrsh]
  2. listen = /var/run/php5-fntrsh.sock
  3. listen.mode = 0666
  4. user = fntrsh
  5. group = fntrsh
  6. chdir = /web/fntrsh
  7. php_admin_value[upload_tmp_dir] = /web/fntrsh/temp
  8. php_admin_value[date.timezone] = Europe/Moscow
  9. pm = dynamic
  10. pm.max_children = 10
  11. pm.start_servers = 2
  12. pm.min_spare_servers = 2
  13. pm.max_spare_servers = 4
  14.  


php.ini
CODE (text):
скопировать код в буфер обмена
  1. [PHP]
  2. engine = On
  3. short_open_tag = On
  4. asp_tags = Off
  5. precision = 14
  6. y2k_compliance = On
  7. output_buffering = 4096
  8. zlib.output_compression = Off
  9. implicit_flush = Off
  10. unserialize_callback_func =
  11. serialize_precision = 100
  12. allow_call_time_pass_reference = Off
  13. safe_mode = Off
  14. safe_mode_gid = Off
  15. safe_mode_include_dir =
  16. safe_mode_exec_dir =
  17. safe_mode_allowed_env_vars = PHP_
  18. safe_mode_protected_env_vars = LD_LIBRARY_PATH
  19. open_basedir = /web
  20. disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source
  21. disable_classes =
  22. expose_php = On
  23. max_execution_time = 30
  24. max_input_time = 60
  25. memory_limit = 128M
  26. error_reporting = E_ALL & ~E_DEPRECATED
  27. display_errors = Off
  28. display_startup_errors = Off
  29. log_errors = On
  30. log_errors_max_len = 1024
  31. ignore_repeated_errors = Off
  32. ignore_repeated_source = Off
  33. report_memleaks = On
  34. track_errors = Off
  35. html_errors = Off
  36. variables_order = "GPCS"
  37. request_order = "GP"
  38. register_globals = Off
  39. register_long_arrays = Off
  40. register_argc_argv = Off
  41. auto_globals_jit = On
  42. post_max_size = 100M
  43. magic_quotes_gpc = Off
  44. magic_quotes_runtime = Off
  45. magic_quotes_sybase = Off
  46. auto_prepend_file =
  47. auto_append_file =
  48. default_mimetype = "text/html"
  49. doc_root =
  50. user_dir =
  51. enable_dl = Off
  52. cgi.fix_pathinfo = 0
  53. file_uploads = On
  54. upload_max_filesize = 100M
  55. max_file_uploads = 20/allow-url-fopen
  56. allow_url_fopen = On
  57. allow_url_include = Off
  58. default_socket_timeout = 60
  59.  
  60. [Date]
  61.  
  62. [filter]
  63.  
  64. [iconv]
  65.  
  66. [intl]
  67.  
  68. [sqlite]
  69.  
  70. [sqlite3]
  71.  
  72. [Pcre]
  73.  
  74. [Pdo]
  75.  
  76. [Pdo_mysql]
  77.  
  78. pdo_mysql.cache_size = 2000
  79. pdo_mysql.default_socket=
  80.  
  81. [Phar]
  82.  
  83. [Syslog]
  84.  
  85. define_syslog_variables  = Off
  86.  
  87. [mail function]
  88.  
  89. SMTP = localhost
  90. smtp_port = 25
  91.  
  92. [SQL]
  93.  
  94. sql.safe_mode = Off
  95.  
  96. [ODBC]
  97.  
  98. odbc.allow_persistent = On
  99.  
  100. odbc.check_persistent = On
  101.  
  102. odbc.max_persistent = -1
  103.  
  104. odbc.max_links = -1
  105.  
  106. odbc.defaultlrl = 4096
  107.  
  108. odbc.defaultbinmode = 1
  109.  
  110. [Interbase]
  111.  
  112. ibase.allow_persistent = 1
  113.  
  114. ibase.max_persistent = -1
  115.  
  116. ibase.max_links = -1
  117.  
  118. ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
  119.  
  120. ibase.dateformat = "%Y-%m-%d"
  121.  
  122. ibase.timeformat = "%H:%M:%S"
  123.  
  124. [MySQL]
  125.  
  126. mysql.allow_local_infile = On
  127.  
  128. mysql.allow_persistent = On
  129.  
  130. mysql.cache_size = 2000
  131.  
  132. mysql.max_persistent = -1
  133.  
  134. mysql.max_links = -1
  135.  
  136. mysql.default_port =
  137.  
  138. mysql.default_socket =
  139.  
  140. mysql.default_host =
  141.  
  142. mysql.default_user =
  143.  
  144. mysql.default_password =
  145.  
  146. mysql.connect_timeout = 60
  147.  
  148. mysql.trace_mode = Off
  149.  
  150. [MySQLi]
  151.  
  152. mysqli.max_persistent = -1
  153.  
  154. mysqli.allow_persistent = On
  155.  
  156. mysqli.max_links = -1
  157.  
  158. mysqli.cache_size = 2000
  159.  
  160. mysqli.default_port = 3306
  161.  
  162. mysqli.default_socket =
  163.  
  164. mysqli.default_host =
  165.  
  166. mysqli.default_user =
  167.  
  168. mysqli.default_pw =
  169.  
  170. mysqli.reconnect = Off
  171.  
  172. [mysqlnd]
  173.  
  174. mysqlnd.collect_statistics = On
  175.  
  176. mysqlnd.collect_memory_statistics = Off
  177.  
  178. [OCI8]
  179.  
  180. [PostgresSQL]
  181.  
  182. pgsql.allow_persistent = On
  183.  
  184. pgsql.auto_reset_persistent = Off
  185.  
  186. pgsql.max_persistent = -1
  187.  
  188. pgsql.max_links = -1
  189.  
  190. pgsql.ignore_notice = 0
  191.  
  192. pgsql.log_notice = 0
  193.  
  194. [Sybase-CT]
  195.  
  196. sybct.allow_persistent = On
  197.  
  198. sybct.max_persistent = -1
  199.  
  200. sybct.max_links = -1
  201.  
  202. sybct.min_server_severity = 10
  203.  
  204. sybct.min_client_severity = 10
  205.  
  206.  
  207. [bcmath]
  208.  
  209. bcmath.scale = 0
  210.  
  211. [browscap]
  212.  
  213. [Session]
  214.  
  215. session.save_handler = files
  216.  
  217. session.use_cookies = 1
  218.  
  219. session.use_only_cookies = 1
  220.  
  221. session.name = PHPSESSID
  222.  
  223. session.auto_start = 0
  224.  
  225. session.cookie_lifetime = 0
  226.  
  227. session.cookie_path = /
  228.  
  229. session.cookie_domain =
  230.  
  231. session.cookie_httponly =
  232.  
  233. session.serialize_handler = php
  234.  
  235. session.gc_probability = 1
  236.  
  237. session.gc_divisor = 1000
  238.  
  239. session.gc_maxlifetime = 1440
  240.  
  241. session.bug_compat_42 = Off
  242.  
  243. session.bug_compat_warn = Off
  244.  
  245. session.referer_check =
  246.  
  247. session.entropy_length = 0
  248.  
  249. session.cache_limiter = nocache
  250.  
  251. session.cache_expire = 180
  252.  
  253. session.use_trans_sid = 0
  254.  
  255. session.hash_function = 0
  256.  
  257. session.hash_bits_per_character = 5
  258.  
  259. url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
  260.  
  261. [MSSQL]
  262. mssql.allow_persistent = On
  263.  
  264. mssql.max_persistent = -1
  265.  
  266. mssql.max_links = -1
  267.  
  268. mssql.min_error_severity = 10
  269.  
  270. mssql.min_message_severity = 10
  271.  
  272. mssql.compatability_mode = Off
  273.  
  274.  
  275. [Assertion]
  276.  
  277. [COM]
  278.  
  279. [mbstring]
  280.  
  281. [gd]
  282.  
  283. [exif]
  284.  
  285. [Tidy]
  286.  
  287. tidy.clean_output = Off
  288.  
  289. [soap]
  290.  
  291. soap.wsdl_cache_enabled=1
  292.  
  293. soap.wsdl_cache_dir="/tmp"
  294.  
  295. soap.wsdl_cache_ttl=86400
  296.  
  297. soap.wsdl_cache_limit = 5
  298.  
  299. [sysvshm]
  300.  
  301. [ldap]
  302.  
  303. ldap.max_links = -1
  304.  
  305. [mcrypt]
  306.  
  307. [dba]

Пути в конфигах рабочие, статик html обрабатывается нормально, простейшая php страничка с кодом
CODE (text):
скопировать код в буфер обмена
  1. <?php
  2.  
  3. phpinfo();
  4.  
  5. ?>
выдает No input file specified.
Лог ошибок (error_log в nginx) на этот счет пустует.
Нашел где-то что если туда-же вставить fastcgi_intercept_errors on; то php сам будет выдавать причину ошибки, но что-то я не понял куда-оно выводится.

В чем может быть проблема?
За помощь спасибо заранее.
2. DeepVarvar - 25 Июня, 2012 - 20:53:28 - перейти к сообщению
fainto пишет:
No input file specified
Это значит что пых работает и нжинкс ему управление скриптами передает.
Правда данная ошибка вылетает из пхп в том случае если пхп-файл не найден.
За сим проверьте пути до файлов, положите в эту папку картинку и проверьте доступна ли она.
(Добавление)
fainto пишет:
fastcgi_intercept_errors on
Верно, должен передавать нжинксу чтобы тот показал 403 или 404 или что настроете.
3. fainto - 25 Июня, 2012 - 21:30:28 - перейти к сообщению
DeepVarvar пишет:
fainto пишет:
No input file specified
Это значит что пых работает и нжинкс ему управление скриптами передает.
Правда данная ошибка вылетает из пхп в том случае если пхп-файл не найден.
За сим проверьте пути до файлов, положите в эту папку картинку и проверьте доступна ли она.
(Добавление)
fainto пишет:
fastcgi_intercept_errors on
Верно, должен передавать нжинксу чтобы тот показал 403 или 404 или что настроете.
Чуть-под разобрался, оказывается пхп работает на основном домене, а не пашет он на поддоменах, а значит что проблема в моем самодельном конфиге автоподдоменов

Цитата:
upstream backend-fntrsh {server unix:/var/run/php5-fntrsh.sock;}
server {
listen faintrush.eu;
server_name faintrush.eu www.faintrush.eu;
root /web/fntrsh/public;
access_log /web/fntrsh/log/access.log;
error_log /web/fntrsh/log/error.log;
rewrite_log on;

location = / {
index index.php index.html;
}

location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass backend-fntrsh;
fastcgi_intercept_errors on;
}
location ~ /\.ht {
deny all;
}
}

server {
listen faintrush.eu;
server_name ~^(.*)\.faintrush.eu;
root /web/fntrsh/sub/$1;
access_log /web/fntrsh/log/access.log;
error_log /web/fntrsh/log/error.log;
rewrite_log on;
location / {
index index.php index.html;
}

location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass backend-fntrsh;
fastcgi_intercept_errors on;
}


}
Вот он горе-конфиг
Сверху то что работает а жирным то что надо править.
Есть идеи как? =)

С путями-то все впорядке, html страничку в той-же папке отдает нормально

 

Powered by ExBB FM 1.0 RC1