У меня IIS 7.0 и две версии PHP v5
и v7
на моем Microsoft Windows Server 2008 Standard 6.0 с пакетом обновления 2 (SP2). Проблема в том, что PHP7 или IIS пытается использовать php.ini PHP5 для «веб-сайтов» IIS.Как установить путь php.ini для PHP CGI/FastCGI SAPI на Windows Server 2008 r2?
Так в командной строке все в порядке:
X:\>php -v
PHP 7.0.2 (cli) (built: Jan 6 2016 12:59:59) (NTS)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
X:\>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: D:\Data\Programme\php7\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
Но в диспетчере IIS и в phpinfo()
выход: не
Я думаю, это PHP (cgi-fcgi
SAPI) выпуск, не проблема IIS (но не уверен).
Как установить правильный php.ini
для PHP CGI/FastCGI SAPI на Windows Server 2008?
Также попробовал через реестр, но это не помогло:
Я знаю, что мне приходилось иметь дело с аналогичной ситуацией на * Linux, * под * Apache, *, но мне интересно, можно ли использовать такой же подход. В принципе, я создал два отдельных «CGI-файла», каждый из которых в основном сводится к: 'exec/path/to/php-cgi -php-ini /path/to/php.ini $ PATH_TRANSLATED'. Другими словами, командный файл явно вызывает интерпретатор PHP и, в частности, сообщает ему, какой файл 'php.ini' использовать. Мне кажется интуитивно, что подобный подход можно было бы приготовить здесь. , , (И, P.S .: «Я думаю, что это тоже« cgi-fcgi ».) –
Размышление над моим предыдущим комментарием в отношении этого * FastCGI * (независимо от среды хоста ...), Я знаю, что можно назначить «отдельные * пулы» рабочих пчел FastCGI »и направлять входящие запросы на соответствующий. Вы должны как-то настроить два пула: один для PHP5, другой для PHP7. , , Хотел бы я быть более конкретным, но в последнее время я не делал проект с Windows. –
@MikeRobinson Спасибо за помощь в этом вопросе! Но еще раз: проблема не в том, что используется неправильная версия PHP (или в этом случае неправильный 'php-cgi.exe'). Проблема в том, что где-то настроено, что 'D: \ path \ to \ php7 \ php-cgi.exe' должен получить свои конфиги с' D: \ path \ to \ php5 \ php.ini' (вместо ' D: \ путь \ к \ php7 \ php.ini'). Поэтому я должен выяснить, почему он настроен таким странным образом и как это изменить. – automatix