php.ini для каждого каталога не анализируется (с помощью FastCGI)

  • Ubuntu 12.04
  • Apache 2.2.22
  • PHP 5.3.10 [работает как libapache2-mod-fcgid]

[пытается сопоставить сервер разработки и мой веб-хостинг]

Мне удалось заставить fcgi работать с использованием оболочки, и я зарегистрировал необходимые обработчики, чтобы файлы .html анализировались как php. Теперь я пытаюсь выяснить, почему мои скрипты не запускаются с файлами php.ini в каждом каталоге, что, по сообщениям, , поведение по умолчанию.

из phpinfo (), запущенного из http://127.0.0.1/NEW/poop.html

Server API                               CGI/FastCGI
Virtual Directory Support                disabled
Configuration File (php.ini) Path        /etc/php5/cgi
Loaded Configuration File                /var/www/johnny/public_html/php.ini
Scan this dir for additional .ini files  /etc/php5/cgi/conf.d

, похоже, что он читает конфигурацию из [/ etc / php5 /cgi/php.ini] просто отлично, а также из веб-корня, который я должен был определить в скрипте-оболочке, чтобы он мог прочитать там php.ini

[/ var / www / php -fcgi-scripts / johnny / php-fcgi-starter]

#!/bin/sh
PHPRC=/etc/php5/cgi/
export PHPRC
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=8
exec /usr/lib/cgi-bin/php -c /var/www/johnny/public_html

Я собрал воедино два веб-учебника, чтобы заставить работать FastCGI + VirtualHost, и постепенно изучал, как все это работает. Вот моя установка VirtualHost:

[/ etc / apache2 / sites-available / johnny.conf]

<VirtualHost _default_:80>
  ServerName johnny.10.128.0.2.xip.io
  ServerAlias my.dev.server.public.IP
  DocumentRoot /var/www/johnny/public_html/

  <IfModule mod_fcgid.c>
    SuexecUserGroup johnny johnny
    <Directory /var/www/johnny/public_html/>
      Options +ExecCGI -Indexes +FollowSymLinks +MultiViews
      AllowOverride All
      AddHandler fcgid-script .php .htm .html
      FCGIWrapper /var/www/php-fcgi-scripts/johnny/php-fcgi-starter .php
      FCGIWrapper /var/www/php-fcgi-scripts/johnny/php-fcgi-starter .htm
      FCGIWrapper /var/www/php-fcgi-scripts/johnny/php-fcgi-starter .html
      Order allow,deny
      Allow from all
    </Directory>
  </IfModule>

  ErrorLog /var/log/apache2/johnny-error.log
  CustomLog /var/log/apache2/johnny-access.log combined
  LogLevel warn
  ServerSignature Off
</VirtualHost>

, но она не будет загружать ничего из [/ var / www / johnny / public_html /NEW/php.ini]

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

0
задан 9 May 2016 в 08:05

1 ответ

Я думаю, что понял это.

я запустил новый и ступил через каждую строку моего pastebin, только с помощью необходимых частей для PHP как FastCGI, и исследовал точно, как каждый маленький кусочек работает. Затем я попробовал много вещей, которые перестали работать, затем была только вещь, оставленная попытке, и возможно это не "правильный путь", но...

создают новое <Directory> блок в /etc/apache2/sites-available/johnny.conf и копируют директивы, но с несколькими изменениями

<Directory /var/www/johnny/public_html/new>
  Options +ExecCGI -Indexes +FollowSymLinks +MultiViews
  AllowOverride All
  AddHandler fcgid-script .php .htm .html
  FCGIWrapper /var/www/php-fcgi-scripts/johnny/php-fcgi-starter_new .php
  FCGIWrapper /var/www/php-fcgi-scripts/johnny/php-fcgi-starter_new .htm
  FCGIWrapper /var/www/php-fcgi-scripts/johnny/php-fcgi-starter_new .html
  Order allow,deny
  Allow from all
</Directory>

затем, создают отдельный fcgi сценарий /var/www/php-fcgi-scripts/johnny/php-fcgi-starter_new

#!/bin/sh
#PHPRC=/var/www/johnny/new
#export PHPRC
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=8
exec /usr/lib/cgi-bin/php -c /var/www/johnny/public_html/new

начинающего, я нашел, что PHPRC= не работал в этом случае, но-c параметр делает!Именно. Это - ЛАВАШ, но это работает достаточно хорошо на мои цели.

0
ответ дан 9 May 2016 в 18:05
  • 1
    Добро пожаловать для Выяснения у Ubuntu! Я рекомендую редактирование этот ответ развернуть его с определенными деталями о том, как сделать это. (См. также , Как я пишу хороший ответ? для общих рекомендаций о том, на чем виды ответов считают самыми ценными, Спрашивают Ubuntu.) – David Foerster 22 October 2017 в 23:07

Другие вопросы по тегам:

Похожие вопросы: