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
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?
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
É assim que eu configuro o nginx + php + mysql + phpmyadmin no Ubuntu. Siga os passos abaixo.
Prepare-se. Abra o terminal e atualize o Ubuntu.
sudo apt-get update
Instale e inicie o Nginx.
sudo apt-get install nginx
Verifique se está instalado. Visite http://localhostr
. Se você vir "Bem-vindo ao Nginx!", significa que ele foi instalado.
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
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.
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
Instale o spawn-fcgi (para o php5 cgi).
sudo apt-get install spawn-fcgi
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
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
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
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;
}
}
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
.