2016/11/03 @ PHPカンファレンス2016 2016/12/15 @ PHPカンファレンス2016再演イベントにて改訂 2017/06/10 @ PHPカンファレンス福岡2017にて改訂 2017/06/10 @ PHPカンファレンス福岡2017講演録画 https://www.youtube.com/watch?v=54jHDHvcYAo
(2016/10/5 20:40 追記)誤解を招いている部分がありそうなので文末に補足を追記しました。巨大なプログラムを食わせただけでPHPが死ぬわけではありません。 毎度おなじみ、意図的に重箱の隅をつついてみたよって話です。あるPHPプログラムを実行したら次のようなエラーに遭遇しました。 $ php over-2g-lines.php int(0) PHP Fatal error: Uncaught Error: Call to undefined function var____dump() in /Users/hnw/over-2g-lines.php:2150000004 Stack trace: #0 {main} thrown in /Users/hnw/over-2g-lines.php on line -214496729221億5千万4行目で致命的エラーが発生したよ!とい
今回はオールアバウトのnnmrが弊社サイトAll About Japanの速度を高速化した経緯についてまとめます。 All About Japanとは そもそもAll About Japan(以下AAJ)とは何かといいますと、弊社が提供している訪日外国人向けの日本紹介サイトです。 外国人向けサイトで、英語、中国語(繁体字)、中国語(簡体字)、タイ語、韓国語の5か国語に対応しております。 「Anime」「Izakaya」「Ninja」といったような特集や、実際に観光する人向けのモデルルート記事が特色です。 ■ 特集 (url : http://allabout-japan.com/en/tag/sushi/ ) ■ モデルルート記事 (url : http://allabout-japan.com/en/article/222/ ) 技術的な紹介 LAMP環境です。 (サーバー構成は後に記述
version: '2' services: web: build: . links: - mysql:mysql mysql: image: mysql:5.5 environment: MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' expose: - "3306" volumes: - ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d servicesにwebとmysqlという名前でコンテナを定義している。 webコンテナ webコンテナはDockerfileをbuildして、mysqlコンテナと連携させる定義をしている。 これによりwebコンテナからはmysqlという名前でmysqlコンテナにアクセスできるようになる。 mysqlコンテナについて MySQLは公式のイメージを使っている。 他のコンテ
こんにちはの方もはじめましての方もエントリーを読んでいただきありがとうございます。 昨日から開催されている ISUCON6 の予選にてPHP実装のコーディングを担当させていただきました t-cyrill と申します。 日頃はWeb屋さんでインフラのお仕事をやっています。 今回はいつものような適当なエントリーではなく少ししっかりとしたエントリーで担当しましたPHP実装について、いくつか簡単な補足をさせていただきます。 はじめに ISUCON6予選参加者のみなさま、お疲れさまでした。 たくさんのチームの方にPHP実装を触っていただけたようでありがとうございます。 ISUCONということで多くの人に触れていただくコードになるだろうと思い、どのチームの方にも得意不得意の影響があまりないようになるべくよく知られたライブラリを使ったり、元からPHPがうまく動作するような環境を用意できるように準備したつ
以下を参考に設定した。 forums.docker.com Macの設定 Macでターミナルを立ち上げて次のコマンドを入力 sudo ifconfig lo0 alias 10.254.254.254 Dockerfileの例(抜粋) # PHP RUN echo "[Xdebug]" >> /etc/php.ini && \ echo "zend_extension=/path/to/xdebug.so" >> /etc/php.ini && \ echo 'xdebug.idekey = "PHPSTORM"' >> /etc/php.ini && \ echo "xdebug.max_nesting_level=1000" >> /etc/php.ini && \ echo "xdebug.remote_autostart=1" >> /etc/php.ini && \ echo "
PHP7,Laravel(Lumen),MySQL,Redisを利用したAPI開発環境をDockerで構築するPHPLaravelDockerマイクロサービスlumen 以前構築したサービスのフレームワークはPhalconだったのだが、 PHP7への対応が遅かったり、今後のメンテナンスでどうなるのか不安なので、他のフレームワークも試そうと思った。 一からマイクロサービスの開発フローを作った話 ためしにLaravelと、Laravel製の軽量フレームワークLumenを試した。 今回、LaravelとLumenを試したが、Laravelのインストールするだけでほぼ動作したのに対し、Lumen側では一部ハマりどころがあったので、Lumenのインストール方法と連携からメモしていく。 コードは以下に公開してある。 https://github.com/tomoyamachi/lumen-docker
明示的 意味 แพลตฟอร์มการเรียนรู้และพัฒนาทักษะด้วยเทคโนโลยี https://suin.io เป็นแพลตฟอร์มที่ให้คุณเรียนรู้และพัฒนาทักษะทางเทคโนโลยีอย่างสะดวกสบาย เรามุ่งมั่นในการให้ความรู้และประสบการณ์ที่มีคุณค่าในการพัฒนาตนเอง pascalcase
外部から簡単にHTTP_PROXYという環境変数がセットでき、サーバ間通信や外部サイトと連携している場合に影響があるかもしれない脆弱性です。(HTTPoxy. CVE-2016-5385) PHPの場合はphp-fpm, mod_php, Guzzle4以上やいくつかのライブラリで影響あります。 対応方法は簡単です。 Apache側で対応する場合は、mod_headerを使える状況であれば、confファイルに下記の1行を追加。 RequestHeader unset Proxy FastCGIの場合は下記の1行を追加。 fastcgi_param HTTP_PROXY ""; Guzzleは6.2.1で対応されたようです。 Release 6.2.1 release · guzzle/guzzle · GitHub コミットログを見ると、CLIの時のみ、getenv('HTTP_PROXY
新年明けましておめでとうございます。GMOメディアの流しエンジニア、山田コーダーです。さて、ようやく弊社でもPHP 5.3、5.4系のプロジェクトの5.6化が一段落してまいりました。 PHP 5.6のリリースが2014年ですので今更感がありますが、「レガシーなPHPプロジェクトのバージョンアップに困っている」「使いたいライブラリーが5.3に対応してないからバックポートした」などという悲痛な声を目にしたこともあり、これからPHPのバージョンアップをされる方たちへのささやかな参考資料になればと思い、書かせていただきました。 さて、まずは本題に入る前に結果からお見せしようと思います。以下はNew Relic(アプリケーションのパフォーマンス監視サービス)のレスポンスタイムのグラフです。なおこのプロジェクトでは、ブラウザー表示用HTMLを出力するサーバー(Web 約10台)と、スマートフォンアプリ
PHPの生みの親、ラスマス・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ
kamipoさんOracle ACEおめでとうございます。 MyNA(MySQLユーザ会)会 2015年8月 でメルカリのデータベース戦略とPHPについて喋って来たので、資料を公開します。 内容はWEB+DB PRESS Vol.88の記事に書いたこと+新ネタと、PHP(PDO)の話です。MySQL 5.7のところにみなさん驚かれていたようです。 他の方の発表では、dimSTATが面白かったですね。あのグラフをどうやって作っているのか全くしらなかったので、勉強になりました。あれはベンチマークしたくなります。また、MySQLで困っている人をみつけて助けてあげようとするkamipoさんの情熱も、どこから沸いてくるのか不思議ですが、さすがでした。 開場のyoku0825さんありがとうございました。みなさまお疲れさまでした。 実は、この会で喋る事をすっかり忘れていて、YAPC::Asiaの懇親会の
仕事で使っているPHPアプリケーションをPHP7 beta1で動かしてみたらそのままでは動きませんでした。 私が実際にはまった点を紹介します。 なお、PHP7の変更点についてはhnwさんの記事に詳しく網羅されているのでご一読ください。 PHP7で変わること - hnwの日記 Apacheのモジュール名が変わっていた ApacheにPHPを組み込むためのモジュール(俗にいうmod_php)のモジュール名・ファイル名が変更になっていました。 LoadModule php5_module modules/libphp5.so ↓ LoadModule php7_module modules/libphp7.so memcache extensionがインストールできない PHPからMemcachedを使うためのExtensionには2つあります。 memcache memcached memca
php-memcached-dev/php-memcachedをforkしたmsgpack-and-snappyブランチで、シリアライズ方式にMessagePackを、圧縮方式にSnappyを選べるようにした。→GitHub MessagePackを使うにはPECL msgpackをインストールした上で、configureのオプションに --enable-memcached-msgpack を、Snappyを使うにはSnappyをインストールした上で --with-snappy-dir を付ければよい。 MacPortsでライブラリを入れている場合の例: phpize ./configure \ --enable-memcached \ --enable-memcached-msgpack \ --with-libmemcached-dir=/opt/local \ --with-snap
知る者は言わず、言う者は知らず — 老子 世界で最も有名なプログラムの 1 つに、 hello world というものがあります。 <?php echo 'hello, world'; 出力先に対して「hello, world」という 12 字を書き込むだけの単純なプログラムで、プログラミング言語やライブラリの利用例を最小限の形で示すものです。 この記事ではメジャーな Web プログラミング言語の 1 つである PHP 処理系が、hello world をどのように実行するのかについて、簡単に解説します。 以下の 4 節で構成されています。 「PHP スクリプト実行の大体の流れ」は実行時の概略を箇条書きでまとめたものです。 「SAPI」では、PHP 処理系の起動のされ方についての基礎知識を解説します。 「Zend Engine とオペコード」は PHP 公式処理系の仮想マシンの命令と、PH
FastCGI対応機能がH2Oにマージされたことを受けて、uzullaさんが「H2OでPHP(がちょっとだけ動くまで)」という記事を書いてくださっています。 ありがたやありがたや。 その中で、 http://hoge/entry/1 みたいなのをphpにマップする方法はまだよくわかってません。その内しらべます github.comを読む限り FastCGI (or PHP) applications should be as easily configurable as it is for the Apache HTTP serverということで、やったぜ!ってなるんですけど、nginxはもとより、Apacheにおいても現状ルーターをつかっているようなアプリだとhtaccessをいちいちかかないといけないので、Apacheみたいなスタイルが楽なのか?というとちょっと疑問があります。 (たと
Paul Bissonette Lockdown Results and HHVM Performance Posted June 09, 2015 The HHVM team has concluded its first ever open source performance lockdown, and we’re very excited to share the results with you. During our two week lockdown, we’ve made strides optimizing builtin functions, dynamic properties, string concatenation, and the file cache. In addition to improving HHVM, we also looked for pla
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く