Problemas com a instalação de cURL em Nginx + php 7 (ubuntu 14.04)

0

O erro que estou recebendo é o seguinte:

Fatal error: Uncaught Error: Call to undefined function curl_setopt_array()

Estou usando o Ubuntu 14.04, com nginx + php 7.

Eu tentei seguir todos os tutoriais que eu encontrei no stackoverflow (askubuntu, serverfault)

O que eu fiz até agora:

$ sudo apt-get update   
$ sudo apt-get install php7.0-curl   
Reading package lists... Done   
Building dependency tree   
Reading state information... Done   
php7.0-curl is already the newest version.   


$ php -m | grep curl   

PHP Warning:  Module 'sysvshm' already loaded in Unknown on line 0   
PHP Warning:  Module 'tokenizer' already loaded in Unknown on line 0

Olhando no phpinfo (não no console, na web) eu recebo os caminhos:

Loaded Configuration File:  /etc/php/7.0/fpm/php.ini   
Additional .ini files parsed: ....  /etc/php/7.0/fpm/conf.d/20-curl.ini .... 

Nesse php.ini , comentei a linha:

extension=php_curl.dll

Além disso:

$ ls conf.d/ | grep curl
20-curl.ini

Então eu reiniciei o nginx usando:

sudo service nginx restart

e reiniciado php7 usando:

sudo service php7.0-fpm restart

Ainda não está funcionando ... Alguma idéia?

    
por Kilise 22.11.2016 / 17:20

2 respostas

0

Depois de horas de trabalho, consegui resolver o problema com uma atualização. Então começou a funcionar!

O segredo foi:

sudo apt-get update && sudo apt-get upgrade
    
por Kilise 23.11.2016 / 11:49
0

É assim que eu configuro o nginx + php + mysql + phpmyadmin no Ubuntu. Siga os passos abaixo.

  1. Prepare-se. Abra o terminal e atualize o Ubuntu.

    sudo apt-get update
    
  2. Instale e inicie o Nginx.

    sudo apt-get install nginx
    
  3. Verifique se está instalado. Visite http://localhostr . Se você vir "Bem-vindo ao Nginx!", significa que ele foi instalado.

  4. Instale o mysql (você será solicitado a definir uma senha para a conta padrão que é root).

    sudo apt-get install mysql-server mysql-clinet
    
  5. Instale o phpmyadmin e crie um link flexível no diretório raiz da máquina virtual.

    sudo apt-get install phpmyadmin sudo In -s /usr/share/phpmyadmin/ /var/www/****.com/ 
    

    As estrelas podem ser o nome de domínio do seu site por conveniência. /var/www/****.com/ é o endereço da máquina virtual.

  6. Instale o php e as extensões.

    sudo apt-get install php5 php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-tidy php5-xmlrpc php5-sqlite php5-xsl
    
  7. Instale o spawn-fcgi (para o php5 cgi).

    sudo apt-get install spawn-fcgi
    
  8. No Nginx, congifure spawn-fcgi (use nano para localizar o arquivo e alterá-lo.)

    • Adicione fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; a 在/etc/nginx/fastcgi_params

      sudo sed -i '$ i fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' /etc/nginx/fastcgi_params
      
  9. Modifique php.ini e configure cgi.fix_pathinfo como 1.

    sudo sed -i '/cgi.fix_pathinfo=/ c cgi.fix_pathinfo=1;' /etc/php5/cgi/php.ini
    
  10. Inicie o fastcgi e configure a inicialização.

    • sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

    • Definir a inicialização, que é adicionar /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid a /etc/rc.local

    • sudo sed -i '/^exit/ i /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid' /etc/rc.local

  11. Configure a máquina virtual no Nginx (MUITO IMPORTANTE).

    • sudo vim /etc/nginx/sites-available/****.com As estrelas podem ter qualquer nome que você quiser.

    • Modifique o site ****. com .conf e adicione

      server {   
      listen 80; #WordPress access port (Default 80)   
      server_name ***.com www.***.com; #hostname,bind domain  
      root /var/www/***.com; #root directory of site    
      location / {   
      index index.php;  
      }   
      location ~ \.php$ {   
      fastcgi_pass 127.0.0.1:9000;   
      fastcgi_index index.php;   
      include /etc/nginx/fastcgi_params;  
      }  
      }  
      
  12. Iniciar o Nginx / php

    sudo /etc/init.d/nginx restart  
    /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 /usr/bin/php-cgi
    

Depois disso, acesse http://localhost/phpmyadmin via http://localhost .

    
por ReneeT 02.11.2017 / 07:16