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

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

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

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

PHP

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

CakePHP

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

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

2439閲覧

Amazon Linux2 「php-intl」が入らない(CakePHP3.6を使いたい)

nnahito

総合スコア2004

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

PHP

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

CakePHP

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

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2018/05/11 05:44

編集2018/05/11 10:34

はじめに

サーバ初心者です。

やりたいこと

Amazon Linux2 のサーバにCakePHP3を導入したい。
ただし、前の時とは違い、

bash

1$ sudo amazon-linux-extras php72 2$ sudo amazon-linux-extras nginx1.12

でサーバを立ててます。

やったこと

原因確認

php-fpm側で、intlがないというcakeのエラーが出ている

[error] 13397#0: *65 FastCGI sent in stderr: "PHP message: PHP Fatal error: You must enable the intl extension to use CakePHP.

bash

1$ sudo yum install php-intl

One of the configured repositories failed (不明), and yum doesn't have enough cached data to continue. At this point the only safe thing yum can do is fail. There are a few ways to work "fix" this: 1. Contact the upstream for the repository and get them to fix the problem. 2. Reconfigure the baseurl/etc. for the repository, to point to a working upstream. This is most often useful if you are using a newer distribution release than is supported by the repository (and the packages for the previous distribution release still work). 3. Run the command with the repository temporarily disabled yum --disablerepo=<repoid> ... 4. Disable the repository permanently, so yum won't use it by default. Yum will then just ignore the repository until you permanently enable it again or use --enablerepo for temporary usage: yum-config-manager --disable <repoid> or subscription-manager repos --disable=<repoid> 5. Configure the failing repository to be skipped, if it is unavailable. Note that yum will try to contact the repo. when it runs most commands, so will have to try and fail each time (and thus. yum will be be much slower). If it is a very temporary problem though, this is often a nice compromise: yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true file is encrypted or is not a database

ないっぽい?
手順っぽいものは書いてくれてますが……disableとかしても大丈夫……?ってかpidってなに……?


epelさんを使ってみる

$ sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm $ sudo yum install php-intl

同上のエラー。

参考


確認してみる

$ yum list | grep intl

何も出ない。。。。


あまり知識がないのでここで止まってしまいました。
Amazon Linux2上でCakePHP3.6を使うために、php-intlを入れる方法をご存じの方がいらっしゃいましたら、ご教示いただけますと幸いです。
よろしくお願いいたします。

追記

すくしょ
amazon-linux-extras listコマンドを叩いたら……

イメージ説明

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/05/11 10:14

php をインストールしたコマンドになにかわえるんじゃん?
nnahito

2018/05/11 10:21

コマンド…「sudo amazon-linux-extras php72」ですよね?コレ実行した直後だと、sudo find / -name intl.soで何も出なかったので、sudo yum install php-intl.x86_64しました。
退会済みユーザー

退会済みユーザー

2018/05/11 10:24

amazon-linux-extras php-intl 的ななにか
nnahito

2018/05/11 10:32

amazon-linux-extrasは……決まったものしか入れれないと思います。スクショ貼りますね
退会済みユーザー

退会済みユーザー

2018/05/11 11:03

まああてずっぽうですしな・w・
退会済みユーザー

退会済みユーザー

2018/05/11 11:10

ああ拡張りぽじとりの追加コマンドじゃん → amazon-linux-extras
nnahito

2018/05/11 11:19

え、コレってリポジトリから落としてくるんじゃなく、リポジトリを拡張(?)してるんですか!?
guest

回答1

0

ベストアンサー

当てずっぽうですが、

shell

1$ yum search intl

で探すと、インストールするべきパッケージが見つかるかもしれないのでは? と思った次第です。

yum searchはパッケージ名とパッケージの説明文に対して検索をかけるので、Webで情報を漁るよりピンポイントに当たるかもしれません(ただの過去の体験からですが)

投稿2018/05/11 06:34

manzyun

総合スコア2244

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

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

nnahito

2018/05/11 09:19

ご回答ありがとうございます! こちら、教えていただきました、yum search intlを実行したところ、 「php-intl.x86_64」がヒットしたので、そちらをyum install php-intl.x86_64したところうまく入りました! うまく入ったはいいのですが、「/etc/php.ini」に「extension=/usr/lib64/php/modules/intl.so」を追記し、 sudo systemctl restart php-fpm.service を行い、 php -v したところ、 「PHP Warning: Module 'intl' already loaded in Unknown on line 0」と表示されます。 しかし、extension=/usr/lib64/php/modules/intl.soを追記しなければcakeはintlを認識しません…… コレの原因ってご存知でしょうか?
退会済みユーザー

退会済みユーザー

2018/05/11 10:26

php-fpm にしろmodmphpにしろ再起動必要だからでは
nnahito

2018/05/11 10:39

あ、すいません……ずっとnginx再起動してました…… php-fpm再起動しないと意味ないですね……ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問