我收到的错误如下:
Fatal error: Uncaught Error: Call to undefined function curl_setopt_array()
我正在使用 Ubuntu 14.04,带有 nginx + php 7。
我尝试按照我在 stackoverflow (askubuntu、serverfault) 中偶然发现的所有教程进行操作
我目前所做的:
$ 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
查看 phpinfo(不是在控制台中,而是在网络中)我得到了路径:
Loaded Configuration File: /etc/php/7.0/fpm/php.ini
Additional .ini files parsed: .... /etc/php/7.0/fpm/conf.d/20-curl.ini ....
其中php.ini
我注释掉了这一行:
extension=php_curl.dll
还:
$ ls conf.d/ | grep curl
20-curl.ini
然后我使用以下命令重新启动 nginx:
sudo service nginx restart
并使用以下命令重新启动 php7:
sudo service php7.0-fpm restart
仍然不起作用...有什么想法吗?
答案1
经过几个小时的努力,我终于通过升级解决了这个问题。然后它就开始工作了!
秘诀是:
sudo apt-get update && sudo apt-get upgrade
答案2
这是我在 Ubuntu 中配置 nginx+php+mysql+phpmyadmin 的方法。请按照以下步骤操作。
做好准备。打开终端并更新 Ubuntu。
sudo apt-get update
安装并启动 Nginx。
sudo apt-get install nginx
检查是否安装完成。访问
http://localhostr
,如果看到“Welcome to Nginx!”,说明已经安装完成。安装 mysql(您将被要求为默认帐户 root 设置密码)。
sudo apt-get install mysql-server mysql-clinet
安装phpmyadmin并在虚拟机根目录创建软链接。
sudo apt-get install phpmyadmin sudo In -s /usr/share/phpmyadmin/ /var/www/****.com/
为了方便起见,星星可以是你网站的域名。/var/www/****.com/是虚拟机的地址。
安装 php 和扩展。
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
安装 spawn-fcgi (用于 php5 cgi)。
sudo apt-get install spawn-fcgi
在Nginx中,配置spawn-fcgi(使用nano定位文件并进行更改。)
添加
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
在/etc/nginx/fastcgi_params
sudo sed -i '$ i fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' /etc/nginx/fastcgi_params
修改php.ini,将cgi.fix_pathinfo设置为1。
sudo sed -i '/cgi.fix_pathinfo=/ c cgi.fix_pathinfo=1;' /etc/php5/cgi/php.ini
启动fastcgi并设置开机启动。
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
设置开机启动,也就是添加
/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
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
在 Nginx 中配置虚拟机(非常重要)。
sudo vim /etc/nginx/sites-available/****.com
星星可以是任何你想要的名字。修改站点****.com.conf并添加
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; } }
启动 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
完成后,http://localhost/phpmyadmin
通过访问http://localhost
。