ini arquivos faltando ao instalar extensões php ubuntu 16 php 7

0

OK, algo mudou fundamentalmente com o ubuntu 16 e o php7 em relação à instalação de extensões php?

Eu apenas atualizei um servidor do Ubuntu 14 para o 16. O servidor precisa rodar a própria nuvem. Eu também não posso reconstruí-lo do zero: /

apt-cache search php- | less

Relaciona como esperado as extensões disponíveis ... por exemplo, aqui está um trecho:

...
php-icinga - PHP library to communicate with and use Icinga
php-igbinary - igbinary PHP serializer
php-imagick - Provides a wrapper to the ImageMagick library
php-irods-prods - PHP client API for iRODS
php-jmespath - Declaratively specify how to extract elements from a JSON document
php-json-patch - Produce and apply json-patch objects
php-json-schema - implementation of JSON schema

Então eu fui em frente e instalei o ImageMagick: apt-get install php-imagick

A última linha da instalação foi WARNING: Module imagick ini file doesn't exist under /etc/php/7.0/mods-available

Com certeza, em .../mods-available , não há arquivo ini para o imagik.

Qual é a causa disso alguém sabe?

Estou brincando com isso, o php não está instalado corretamente ou o sistema de alguma forma tem várias versões do php instaladas e há algum tipo de colisão acontecendo em algum lugar. em usr/bin i posso ver php@ e php7.0*

Estou completamente preso embora.

    
por John 13.11.2016 / 13:40

1 resposta

1

  1. Os módulos são arquivos .so.
  2. Eles vivem @ /usr/lib/php/<buildnumber>/<modulename>.so
  3. Os arquivos ini em /etc/php/7.0/mods-available simplesmente mapeiam para um dos arquivos .so anteriores, ou seja, eles contêm uma única linha de importância real extension=<modulename>
  4. A execução de phpenmod <modulename> não faz mais do que criar um arquivo de referência no /etc/php/7.0/apache/conf.d & amp; /etc/php/7.0/cli/conf.d pasta.

Então, resumindo, você precisa garantir que o arquivo .so existe, o arquivo ini em mods disponível existe e que está sendo referenciado no local relevante, por exemplo, apache, fpm ou cli.

Espero que isso ajude alguém na mesma posição que eu estava.

Como mencionado em um dos comentários, há um bug posible sobre php e mysql ... está na ordem de carregamento. A ordem alfabética dos arquivos de referência em /etc/php/7.0/apache/conf.d é na verdade a ordem em que os módulos serão carregados pelo php. Se você tiver problemas com o mysqli, tente garantir que o módulo mysqlnd seja carregado antes do módulo mysqli ... isso consertou as coisas para mim.

    
por John 15.11.2016 / 16:05