2016-06-25 1 views
3

私はUbuntu 14.04.4 LSでPHPを開発しています。実行中のcomposer installは失敗しており、わかりません。私がPHP 5.5.9を使用していたときにこれは早く動いていましたが、phpunitをインストールするために少なくとも5.6に更新しなければなりませんでした。 (は/ usr/binがあり作者のインストールcurl-extがありません

/usr/bin/php 

それはphp -vと一致しないような種類の不審である: "PHP" を、「which php出力を実行

PHP 5.6.23-1+deb.sury.org~trusty+2 (cli) 
Copyright (c) 1997-2016 The PHP Group 
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies 
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies 

php -v出力を実行

php5 "、" php5.6 ")

私の作曲家です.json:

を実行
{ 
    "require-dev": { 
     "phpunit/phpunit": "5.4.*" 
    }, 
    "require": { 
     "silex/silex": "~1.3", 
     "stripe/stripe-php": "3.*" 
    } 
} 

は、この出力を作成します。

$ composer install 
Loading composer repositories with package information 
Updating dependencies (including require-dev) 
Your requirements could not be resolved to an installable set of packages. 

    Problem 1 
- stripe/stripe-php v3.9.2 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.9.1 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.9.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.8.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.7.1 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.7.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.6.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.5.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.4.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.3.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.2.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.14.3 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.14.2 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.14.1 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.14.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.13.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.12.1 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.12.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.11.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.10.1 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.10.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.1.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.0.0 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- stripe/stripe-php v3.14.2 requires ext-curl * -> the requested PHP extension curl is missing from your system. 
- Installation request for stripe/stripe-php 3.* -> satisfiable by stripe/stripe-php[v3.0.0, v3.1.0, v3.10.0, v3.10.1, v3.11.0, v3.12.0, v3.12.1, v3.13.0, v3.14.0, v3.14.1, v3.14.2, v3.14.3, v3.2.0, v3.3.0, v3.4.0, v3.5.0, v3.6.0, v3.7.0, v3.7.1, v3.8.0, v3.9.0, v3.9.1, v3.9.2]. 

To enable extensions, verify that they are enabled in those .ini files: 
- /etc/php/5.6/cli/php.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/20-calendar.ini 
- /etc/php/5.6/cli/conf.d/20-ctype.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-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-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 
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode. 

私は、これらの指示に従ったが、それは仕事をdoesntの:

Configuration File (php.ini) Path => /etc/php/5.6/cli 
Loaded Configuration File => /etc/php/5.6/cli/php.ini 

実行中:sudo apt-get install php5-curl出力:

Composer install error - requires ext_curl when it's actually enabled

php -i | grep php.ini出力を実行します

php5-curl is already the newest version. 

実行curl -V出力:すべてのヘルプは高く評価され

curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3 
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet tftp 
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP 

+0

タイピングの '' dpkgの-lを| grep 'php5-curl''' outputs: '' ii php5-curl 5.6.23 + dfsg-1 + dontuse + deb.sury.org〜trusty + 1 amd64 php5のCURLモジュール '' –

答えて

4

いくつかの注意:

  • php -iを実行するには良いです。編集するファイルが分かるように、php.iniが使用されています。
  • curl -vを実行する必要はありません。これは、CLIでの使用のためのスタンドアロンのカールで、PHP拡張カールとは関係がないためです。
  • php5-curlを確認しました。これは必要なパッケージです。 OK。

何が欠けていますか?拡張機能がPHPによってロードされていることを確認する必要があります!

/etc/php/5.6/cli/php.iniを編集してextensionを検索し、php_curlを探して有効にしてください。extension=php_curl.so

次に、CLIでphp -mを実行して、ロードされたモジュールのリストを表示し、curlがロードされていることを確認します。

最後に、composer installを再実行してください。

+0

ありがとう応答のために。 php.iniファイルにはphp_curl.soはありません。php_curl.dllがありますが、これはWindows用であり、私はUbuntu上にあります。この行を有効にしても機能しませんでした。このファイルには、mysqlのために2つの.soという言葉しかありません。 私はphpinfo()から "extensions_dir"を取得しました。そのディレクトリに "curl.so"があります。 私は以下の指示に従っています:http://stackoverflow.com/questions/23233460/how-do-i-enable-curl-for-phpと/ etc/php5/mods-available/curlファイル。 iniは存在し、その中には "extension = curl.so"があります。 上記の質問を更新しています。 –

+0

Linux/Ubuntuの場合は、 '.so'ファイルを有効にする必要があります。拡張フォルダに 'php_curl.so'ファイルが見つかったときに、なぜこれを有効にしなかったのだろうと思います。 'php -m'が読み込まれているかどうか確認してください。 - ロードされていない場合は、CLIで使用しているPHPの 'php.ini'を間違って編集していると思います。 php.iniファイルにはWeb要求とCLIのために異なるファイルがあることに注意してください。 –

+1

'' php -m''はcurlを表示しません。 コマンド '' php -i | grep php.ini''は適切なphp.iniファイルを編集していると思います。 php.iniファイルで、 '' extension =/path/to/extensions/curl.so''( '' phpinfo() ''の出力からパスを取得しました)と '' php -m' 'カールを列挙する。今、 '' composer install''を実行すると、別のパッケージが見つからない(ext-mbstring)というエラーが表示されるので、うまくいきます。 –

0

Ubuntuは、サーバ版ではなく、ウェブサーバがtasksel 試してインストールするPHPを使用してインストールされた apt-get install php

5

はこの実行する場合: sudo apt-get install php-curl

関連する問題