首页 文章

已安装NGINX - CURL扩展,但系统显示它已丢失

提问于
浏览
0

我正在尝试使用composer更新Laravel项目,但系统说:

Problem 1

- Installation request for netshell/paypal dev-master -> satisfiable by netshell/paypal[dev-master].
- netshell/paypal dev-master requires ext-curl * -> the requested PHP extension curl is missing from your system.

To enable extensions, verify that they are enabled in your .ini files:
- /etc/php/5.6/cli/php.ini
- /etc/php/5.6/cli/conf.d/10-mysqlnd.ini
- /etc/php/5.6/cli/conf.d/10-opcache.ini
- /etc/php/5.6/cli/conf.d/10-pdo.ini
- /etc/php/5.6/cli/conf.d/15-xml.ini
- /etc/php/5.6/cli/conf.d/20-calendar.ini
- /etc/php/5.6/cli/conf.d/20-ctype.ini
- /etc/php/5.6/cli/conf.d/20-dom.ini
- /etc/php/5.6/cli/conf.d/20-exif.ini
- /etc/php/5.6/cli/conf.d/20-fileinfo.ini
- /etc/php/5.6/cli/conf.d/20-ftp.ini
- /etc/php/5.6/cli/conf.d/20-gettext.ini
- /etc/php/5.6/cli/conf.d/20-iconv.ini
- /etc/php/5.6/cli/conf.d/20-json.ini
- /etc/php/5.6/cli/conf.d/20-mbstring.ini
- /etc/php/5.6/cli/conf.d/20-mcrypt.ini
- /etc/php/5.6/cli/conf.d/20-mysql.ini
- /etc/php/5.6/cli/conf.d/20-mysqli.ini
- /etc/php/5.6/cli/conf.d/20-pdo_mysql.ini
- /etc/php/5.6/cli/conf.d/20-phar.ini
- /etc/php/5.6/cli/conf.d/20-posix.ini
- /etc/php/5.6/cli/conf.d/20-readline.ini
- /etc/php/5.6/cli/conf.d/20-shmop.ini
- /etc/php/5.6/cli/conf.d/20-simplexml.ini
- /etc/php/5.6/cli/conf.d/20-sockets.ini
- /etc/php/5.6/cli/conf.d/20-sysvmsg.ini
- /etc/php/5.6/cli/conf.d/20-sysvsem.ini
- /etc/php/5.6/cli/conf.d/20-sysvshm.ini
- /etc/php/5.6/cli/conf.d/20-tokenizer.ini
- /etc/php/5.6/cli/conf.d/20-wddx.ini
- /etc/php/5.6/cli/conf.d/20-xmlreader.ini
- /etc/php/5.6/cli/conf.d/20-xmlwriter.ini
- /etc/php/5.6/cli/conf.d/20-xsl.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

该机器是:Ubuntu 14.04 Nginx PHP 5.6

我已经做了很多步骤,比如:

  • apt-get install curl

  • apt-get install php-curl

  • service php5-fpm restart

  • service nginx restart

仍然没有工作......

我还有curl.ini文件:

; configuration for php CURL module
; priority=20
extension=curl.so

我的phpinfo说curl已启用:

enter image description here

我还能做些什么?

1 回答

  • 2

    composer 和nginx使用不同的PHP解释器 . 您为 php-fpm 启用 php-curl ,但 php-cli 没有启用 .

    您可以通过运行 php --ini 来确定 php-cli 使用的实际配置文件(您可能会看到curl.ini不在那里)

    使用以下内容启用它:

    sudo ln -s /etc/php/5.6/mods-available/curl.ini /etc/php/5.6/cli/conf.d/20-curl.ini
    

    Attention :第一个参数应该是curl.ini文件的实际位置 . 所以它也可以

    sudo ln -s /etc/php5/mods-available/curl.ini /etc/php/5.6/cli/conf.d/20-curl.ini
    

    如果您运行 php --info | grep curl -C 3 ,您将看到是否实际为您的php-cli安装启用了curl .

相关问题