2016-10-12 6 views
0

У меня возникли проблемы с установкой PHP 5.5 на машине CentOS с использованием Шеф-повар. Я, наконец, смог установить его, но когда я обращаюсь к index.php, он просто загружает файл с контентом.Что такое имя httpd_module, чтобы Apache/Httpd работал с PHP 5.5?

Я предполагаю, что это связано с тем, что Apache (технически Httpd, так как я с CentOS) не имеет установленного/настроенного mod_php.

Я установил PHP с использованием php cookbook со следующими пакетами:

# ... code to add webtatic repository to yum 

node.set['php']['packages'] = ['php55w', 'php55w-devel', 'php55w-cli', 'php55w-snmp', 'php55w-soap', 'php55w-xml', 'php55w-xmlrpc', 'php55w-process', 'php55w-mysqlnd', 'php55w-pecl-memcache', 'php55w-opcache', 'php55w-pdo', 'php55w-imap', 'php55w-mbstring'] 

Если я прав, приведенный выше код не установлен mod_php. Ниже мой веб-рецепт шеф-повар:

httpd_service 'apps' do 
    mpm 'prefork' 
    action [:create, :start] 
    listen_ports ['80', '443'] 
end 

# ... code for virtual hosts 

# Install the mod_php Apache module. 
# httpd_module 'php' do 
# instance 'apps' 
# end 

Я имел httpd_module 'php' директивы раскомментирована при использовании PHP 5.4. Какое правильное имя для http_module для работы с PHP 5.5?

ответ

1

Похоже, вы нашли одного из тех, кто пошел по маршруту Debian и установили свои пакеты как php55- вместо php-. Это делает боль больно, если вы хотите перейти от версии 5.5 к любой более высокой версии, потому что вам нужно удалить эти и установить новые (то есть php70-).

Вместо этого я рекомендую переключить ваш рецепт на Remi repo и использовать пакеты php-.

Все, что было сказано, php55w - ваш базовый пакет PHP. Я не вижу пакет php55w-common. Попробуйте добавить это (или php-common), и это должно получить его в Apache.

+0

Итак, 'php55w-common' установит мод apache? Кроме того, если я переключусь на реми-репо, я могу использовать пакеты 'php-', что означает, что мне не нужно перезаписывать пакеты php для 'php55-' (а позже 'php70-')? –

+0

1. Реми называет их все 'php-', и вы просто включаете надлежащее репо для этой версии. Делает изменения версий. Я просто обновляю свои рецепты до правильного репо, а затем запускаю 'yum update' 2. IIRC' php-common' содержит правильный '.so' файл для Apache. Его единственный, который я вижу в моем списке, который не принадлежит вам (это вообще не библиотека PHP) – Machavity

+0

Итак, я буду использовать [yum-remi-chef] (https: //supermarket.chef. io/cookbooks/yum-remi-chef), чтобы включить remi repo для php 5.5. После этого я буду использовать обычную [httpd cookbook] (https://supermarket.chef.io/cookbooks/httpd) и посмотреть, работает ли она. –