phpDocumentorがComposerで入らなかった時のメモ
環境:CentOS7、Laravel5.5、php7.1
composer require --dev phpdocumentor/phpdocumentor
↑これがうまくいかない
こんなエラーが出る
Using version ^2.9 for phpdocumentor/phpdocumentor ./composer.json has been updated 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 - Installation request for phpdocumentor/phpdocumentor ^2.9 -> satisfiable by phpdocumentor/phpdocumentor[v2.9.0]. - Conclusion: remove nikic/php-parser v3.1.1 - Conclusion: don't install nikic/php-parser v3.1.1 - phpdocumentor/phpdocumentor v2.9.0 requires phpdocumentor/reflection ^3.0 -> satisfiable by phpdocumentor/reflection[3.0.0, 3.0.1]. - phpdocumentor/reflection 3.0.0 requires nikic/php-parser ^1.0 -> satisfiable by nikic/php-parser[v1.0.0, v1.0.1, v1.0.2, v1.1.0, v1.2.0, v1.2.1, v1.2.2, v1.3.0, v1.4.0, v1.4.1]. - phpdocumentor/reflection 3.0.1 requires nikic/php-parser ^1.0 -> satisfiable by nikic/php-parser[v1.0.0, v1.0.1, v1.0.2, v1.1.0, v1.2.0, v1.2.1, v1.2.2, v1.3.0, v1.4.0, v1.4.1]. - Can only install one of: nikic/php-parser[v1.3.0, v3.1.1]. - Can only install one of: nikic/php-parser[v1.4.0, v3.1.1]. - Can only install one of: nikic/php-parser[v1.4.1, v3.1.1]. - Can only install one of: nikic/php-parser[v1.0.0, v3.1.1]. - Can only install one of: nikic/php-parser[v1.0.1, v3.1.1]. - Can only install one of: nikic/php-parser[v1.0.2, v3.1.1]. - Can only install one of: nikic/php-parser[v1.1.0, v3.1.1]. - Can only install one of: nikic/php-parser[v1.2.0, v3.1.1]. - Can only install one of: nikic/php-parser[v1.2.1, v3.1.1]. - Can only install one of: nikic/php-parser[v1.2.2, v3.1.1]. - Installation request for nikic/php-parser (locked at v3.1.1) -> satisfiable by nikic/php-parser[v3.1.1]. Installation failed, reverting ./composer.json to its original content.
参考にしたサイト(英語)ここに理由も書いてあります。
https://stackoverflow.com/questions/46339362/phpdoc-with-laravel
解決手順としては、
- http://phpdoc.org/phpDocumentor.phar ここからphpDocumentor.pharを取得
- 上記をvendor/binに配置する
以上です。
使い方は
php vendor/bin/phpDocumentor.phar -d 生成したいファイルがあるディレクトリ
↑のs例ではディレクディレクトリを指定していますが、ファイル単体でいい時いい時は、、-dオプションでなくて-fオプションにして、ファイルパスを指定します。
使い方が普通に入れた場合と異なるので気をつけていただければなと(phpdocコマンド使えなかった。pharで入れたから当たり前なのかな? よくわからない)。
AWS:東京リージョン使うの?
先月の話なのですが、ubbへ行ってきた際のメモです。
AWSのリージョンのお話。
各リージョンで使えるサービスは下記リンク参照してください。
https://aws.amazon.com/jp/about-aws/global-infrastructure/regional-product-services/
海外リージョン使うといいこと
- 使えるサービスが増える
- 使う人が多いとその分リソースが潤沢
- データセンターの値段(土地代)が安いことがある
→使用料が安くなる!
海外リージョンを使うときの欠点
- 物理的な距離の分、遅くなる(光の速さは超えられない)
逆に東京リージョンを使う理由
- 高速な同期処理がある
- 国内から低いレーテンシー(ここよくわからなかった)
- 国内にデータセンターを持たないといけない(国外にデータ持ち出し禁止なやつとか)
全部同じリージョンに置くんじゃなくて、分散するってこともできるよ。
(ログだけ海外とか、こっち落ちたらあっち使うとか)
Netflixを例にしてました(他にもあったけど忘れた)。関係ないけど、NetflixはChaos kongというツールでAWSサーバをランダムに落として、一つ落ちてもちゃんと動くよね?ってことをやっているらしいです。怖いけどそのくらいテストでやってみたいなぁ……。
詳しくはこちらのリンクへ。
http://www.publickey1.jp/blog/15/chaos_kongnetflix.html
最近本格的にAWSを使うようになったので本当にタイムリーで興味深いお話が聞けました。まぁ、特に理由がない限り(使いたいサービスがない場合以外)は東京リージョンでもいいのかなって思いました。個人で勉強用に使う時は海外リージョンを試してみようかなぁ……。
■
環境:php7.1、Laravel5.5
composer update
実行したら
laravel/framework v5.5.9 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
これな
素直に
sudo yum install --enablerepo=remi-php71 php-mbstring
次のエラー
phpunit/phpunit 6.3.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.
またかよ
sudo yum install --enablerepo=remi-php71 php-xml
OK!!!
npmでエラーが出て何もかも上手くいかない
環境
出現したエラー
npm: relocation error: npm: symbol SSL_set_cert_cb, version libssl.so.10 not defined in file libssl.so.10 with link time reference
解決策
yum update openssl
どうやら、openssl version is 1.0.1eにバグがある様子(英語読めないんだけど)
https://goo.gl/Tsuhm4
■
長いことPHPerやってるのに最近知った関数はこちら
end()関数
配列の最後が取得できます。
print_r(end(array('A','B','C')));
→Cが出力される
的な。