質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

PEAR

PEAR (PHP Extension and Application Repository)はPHPで利用する事ができるライブラリです。

PECL

PECL(PHP Extension Community Library)は、PHPで利用できる拡張ライブラリです。 PECLはCで記述されているため、PHPで記述されたPEARのライブラリよりも高速に動作します。

Q&A

解決済

2回答

6264閲覧

Macで Pecl, Pearがインストールできない

afroscript

総合スコア148

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

PEAR

PEAR (PHP Extension and Application Repository)はPHPで利用する事ができるライブラリです。

PECL

PECL(PHP Extension Community Library)は、PHPで利用できる拡張ライブラリです。 PECLはCで記述されているため、PHPで記述されたPEARのライブラリよりも高速に動作します。

1グッド

0クリップ

投稿2019/07/23 02:34

前提・実現したいこと

MacOSでCakePHPを使ったアプリを作ろうとしており、そのためのローカル環境を整えようとした際に躓きました。
Pecl, Pearをインストールしたいのですが、うまくいきません。
どなたか教えていただけると幸いです。。。

発生している問題・エラーメッセージ

CakePHPのプロジェクトを作成する際に、intlモジュールが必要とのメッセージが出たので、intlモジュールをインストールしようと、下記サイトを参考にしました。
http://hiroki-tkg.com/?p=1539

上記サイトにある下記3つのコマンドを入力したところ、

cd /tmp && mkdir pear && cd pear $ curl -O http://pear.php.net/go-pear.phar $ sudo php -d detect_unicode=0 go-pear.phar

結果は下記のようになりました。

PC2699:cake3app2 afroscript$ cd /tmp && mkdir pear && cd pear mkdir: pear: File exists PC2699:tmp afroscript$ curl -O http://pear.php.net/go-pear.phar % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 241 100 241 0 0 328 0 --:--:-- --:--:-- --:--:-- 328 PC2699:tmp afroscript$ sudo php -d detect_unicode=0 go-pear.phar <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved Permanently</title> </head><body> <h1>Moved Permanently</h1> <p>The document has moved <a href="https://pear.php.net/go-pear.phar">here</a>.</p> </body></html>

上記参考記事には、なんか聞かれたら基本 Enterと書かれてましたが、特に何も聞かれない状況でうまく行っていないようです。

peclを試してみましたが、もちろん使えませんでした。

PC2699:tmp afroscript$ sudo pecl install intl sudo: pecl: command not found

吐き出されたHTMLにあった https://pear.php.net/go-pear.phar にアクセスしても、PHPコードが書いてあり、どう対処したらいいか分かりません。

他のpeclインストール方法を探ると下記の別記事を発見しましたが、どうやら$ sudo php -d detect_unicode=0 go-pear.pharのあとの反応が違うようです。

http://kenzo0107.hatenablog.com/entry/2017/06/04/224841

どのように対処したらいいのでしょうか??

補足情報

  • macOS Mojave(バージョン10.14.5)
  • PHP:7.1.23

※不足情報等ありましたら、お知らせください。

ahoahomarumaru👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

intl 拡張、デフォルトで入ってたら嬉しいのですが、そうではないのが残念ですね。

私の環境では go-pear.phar 実行できました。(https じゃないとダメ)

curl -O https://pear.php.net/go-pear.phar php -d detect_unicode=0 go-pear.phar

~/pear/bin 以下に pecl がインストールされるのを確認しました。

ただし、 go-pear.phar はオワコンらしいですね・・・。
https://qiita.com/rana_kualu/items/cda171324e98124c8d23

代わりに
https://github.com/FriendsOfPHP/pickle
も使えるらしいです。

これらを使って、intl 拡張が入れられるはず。

ちなみに私の環境では、拡張をビルドする環境がなかったので、
Xcode command line tools のインストールが必要みたいです。

1. xcode-select --install 2. cd /Library/Developer/CommandLineTools/Packages/ 3. open macOS_SDK_headers_for_macOS_10.14.pkg

投稿2019/07/23 05:10

編集2019/07/23 05:17
okinaka3

総合スコア304

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

okinaka3

2019/07/23 05:26 編集

autoconf も必要だった。 今インストール中。 > brew install autoconf
okinaka3

2019/07/23 05:29

ICU がどうのって言われる。intl のインストールの調査は、ちょっとここで止めます・・・。
afroscript

2019/07/24 02:09

ありがとうございます! http[s]でインストールすることができました! ずっとひっかかっていたのでようやくスッキリしました!ありがとうございます!!
afroscript

2019/07/24 02:17

(しかし、参考にしてた記事を読み進めていくと、結局pearではintlをインストールできないっぽいことに気づきました。。。http://hiroki-tkg.com/?p=1539 ちょっと別の方法を考えます。。。)
guest

0

PHP 7.1では、intlはPECLやPEARからインストールするものではなく、PHPに同梱されているものです。もし無効だったら、php.iniなどで設定を変更して有効にしてください。

intl インストール手順

投稿2019/07/23 02:37

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2019/07/23 02:40 編集

仮にPECL版を入れるにしても、PEARは全く無関係なので、いまは忘れてください(PHP 7時代の開発にPEARが必要になることは、ほぼありません)。
afroscript

2019/07/23 03:26

早速の回答ありがとうございます! php.iniの設定を変更するというのは、 `php.ini.default`内の`;extension=php_intl.dll`の`;`を外すのであってますでしょうか?? 上記を外して再度、下記CakePHPの公式サイトの`composer self-update && composer create-project --prefer-dist cakephp/app my_app_name`でCakePHPのプロジェクト作成を試みみたのですが、 https://book.cakephp.org/3.0/ja/installation.html#id5 再度下記のような同じメッセージが出てきました。。。 ``` Your requirements could not be resolved to an installable set of packages. Problem 1 - cakephp/cakephp 3.8.1 requires ext-intl * -> the requested PHP extension intl is missing from your system. - cakephp/cakephp 3.8.0 requires ext-intl * -> the requested PHP extension intl is missing from your system. - Installation request for cakephp/cakephp 3.8.* -> satisfiable by cakephp/cakephp[3.8.0, 3.8.1]. ```
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問