2016/11/03 @ PHPカンファレンス2016 2016/12/15 @ PHPカンファレンス2016再演イベントにて改訂 2017/06/10 @ PHPカンファレンス福岡2017にて改訂 2017/06/10 @ PHPカンファレンス福岡2017講演録画 https://www.…
curl_multiはselectシステムコールを使って同時に複数のHTTPリクエストを行うことができます。マルチスレッドやらマルチプロセスを使っているわけではなく、原理はnode.jsなんかと近いI/O多重化で、一度に一つのことしかしていません。 PHPのcurlはlibcurlのAPIをほぼ踏襲しており、ちょっと取っつきにくいです。クラスでラッピングして、curl_close()などはデストラクタで呼ばれるように自動化すると、もう少しすっきりすると思います。 <?php /** * curl_multiでHTTP複数リクエストを並列実行するテンプレ * */ //タイムアウト時間を決めておく $TIMEOUT = 10; //10秒 /* * 1) 準備 * - curl_multiハンドラを用意 * - 各リクエストに対応するcurlハンドラを用意 * リクエスト分だけ必要 * *
注意点として、markdown extraはプラグインとしてサポートされているので、 別途インストールが必要 といってもcomposerでインストールする場合parsedown-extraを入れると 自動で本体もインストールされるので気にする必要はないけど 公式ホームページのデモはextra対応していないので注意 etra用のデモは別に用意されている http://parsedown.org/extra/ Extra対応するとパースが遅くなるから標準対応してないっぽい。 インストール composer require erusev/parsedown-extra 使い方 <?php require_once __DIR__.'/../vendor/autoload.php'; $html = (new ParsedownExtra())->text($body); composerのオート
PHP 7.0 は2018年12月3日に公式のセキュリティサポートが終了し、その前の2018年9月13日に 7.0 系最終リリースとなるはずだった 7.0.32 が公開された。しかし、セキュリティサポート終了後の2018年12月6日に 7.0.33 が公開された。 PHP 5.6 の公式のセキュリティサポートは当初2017年8月28日まで 6 だったが、5系最後のリリースであることを理由に 7 2016年始めに2018年末まで延期された。8 2018年12月6日にリリースされた 5.6.39 が最終リリースになるはずだったが、セキュリティサポート終了後の2019年1月10日に昔のよしみ (for old time's sake)で 5.6.40 がリリースされた。 9 PHP 5.5 は2016年7月10日に公式のセキュリティサポートが終了し、その前の2016年6月23日に 5.5 系最終
今や開発環境はローカルにあるのが一般的です。OSを合わせたい場合でもVMを使えば簡単に実現できます。問題はコードが書き終わった後のデプロイではないでしょうか。どのサーバにどのコードを反映し、どんなタスクを実行するのか、ライブラリの変更があるのかなどを適切に管理する必要があります。 Ruby/Ruby on Rails界隈ではCapistranoというソフトウェアが使われることが多いです。Capistrano自体は汎用的なデプロイツールですが、PHPであればやはりPHP製のツールの方が分かりやすいでしょう。そこで今回はDeployerというPHP製のデプロイツールを紹介します。 Deployer — Deployment Tool for PHP Deployerのセットアップ Deployerはとても簡単にセットアップできます。本体をダウンロードして、パスの通ったところに配置するだけです。
こんにちは! 東京なのに周辺にポケストップが1つもない田舎に住んでいます、@fortkle です(世田谷公園の徒歩圏内に引っ越したいです)。 さて、みなさんはPHPアプリケーションのデプロイツールに何を使っているでしょうか。 今回コネヒトで Deployer というPHPで書かれたデプロイツールを採用したのですが、なぜDeployerなのかという理由と、実際に使っているおすすめの設定をいくつか共有したいと思います。 ※ Deployerのインストール方法や基本的な使い方を知りたい場合は既にインターネット上に良い記事がたくさんあるのでそちらを参考にしてみてください。 デプロイツール、どうする? 今回、新しく小規模PHPアプリケーションをデプロイする機会があったため下記の条件で新しくデプロイツールの選定を行いました。 PHPのアプリケーションなので デプロイツールもPHP製のもの を採用したい
cles::blog 平常心是道 blogs: cles::blog NP_cles() « Microsoft が Eclipse Foundation の Solutions Me... :: Windows で消せなくなってしまったファイルを無理... » 2016/03/10 PHP から Active Directory 認証を使う windowsserver php ldap 736 0へぇ PHP から AD (Active Directory) を認証データベースとして使うスクリプトを作ってみました。 SSO 関連の実装となると、とにかく LDAP は避けて通れないですからね。 † PHP で LDAP を使えるようにする まず基本的な事項ですが、AD の実体は LDAP なので、PHP からは LDAP を使ってアクセスすることになります。PHP の LDAP サポ
外部から簡単に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
この記事は何か 挑発的な文言になってる箇所はあるものの、内容としてはそれなりにまじめに書いたつもり。むしゃむしゃしてやった。いまでは反芻してゐる。 PHPDocは必ず書け あらゆる再利用可能な手続きは、他人が容易に応用できるように型が明示的でなければいけない。メンバー全員が実装コード全てを把握できるものならそれが理想だけれど、残念ながら時間は有限だ。ヘッダだけを読んでメソッドの仕様が理解でき、またはコードを読む助けになるようなコメントが良い。 有名な事実を紹介すると、多くのコードは数か月(早ければ数日!)も経てば、他人が書いたコードに感じられるほど理解できなくなることがしばしばある。もちろん設計の練度にもよらうが、設計判断について注意を要した点などをコメントに残しておくことで、ひいては未来の自分の役に立てることができる。 お前の先輩は「PHPには型がない」などと知ったかぶって意味不明1なこ
先日、mkdir関数を使ってパーミッションを「0777」に指定してディレクトリを作成したのですが、パーミッションは「0755」となっていました。 「おかしいな・・」と思い、mkdir関数のリファレンスを見たらその原因がわかりました。 原因:umaskの影響を受ける 「困ったときはリファレンスだ!」ということでmkdir関数のリファレンスを確認すると モード(パーミッション)は、現在設定されているumaskの影響も受けます umaskを変更するにはumask()を使用します とバッチリ書いてありました。 umaskとは? OSで設定されているもので、デフォルトのパーミッション指定みたいなものです。 作成するファイルまたはディレクトリのパーミッションはumaskの設定値によって次のようになります。 ファイルの場合:「0666 - umaskの設定値」となる ディレクトリの場合:「0777 -
Tuesday, December 31, 2013 大晦日にラブライブ スクフェス イベント終了間際の壮絶なる叩き合い、しびれる~ とかいいつつ、俺はきっと敗れたと思う 結果はあと3分後 ダメですた tags ラブライブ スクフェス php sessionのバックエンドにmemcachedを利用する これはバイナリモジュールが必要なのであるが、php(というかpecl)にはphp-memcacheとphp-memcachedという二つのものが存在する。 http://php.net/manual/ja/book.memcache.php http://php.net/manual/ja/book.memcached.php どーやらphp-memcachedの方がよさそう、らしい。マニュアルにもセッションのバックエンドに関する記事はmemcachedモジュールの方にしか用意されていな
あんまり知られてないけど有用な composer の機能 ※ 下記の内容はすべて公式マニュアルに書かれています ※ 社内向けに書いたので若干整合性が怪しい create-project 知られていないどころか超有名な機能ですが、尺稼ぎで create-project から。 フレームワークをいじってると 下記のコマンドでインストールします composer create-project symfony/framework-standard-edition my_project_name のような文言によく出くわします。 これがなにしてるかは http://qiita.com/DQNEO/items/74f4bb8fe447e4582a97 が詳しい。 要するに git で引っ張ってきてその中で composer install してるだけのようです。 使うことはあまりないと思うけど、覚えて
この記事は Symfony Advent Calendar 2015 の16日目です。昨日は@Issei_Mさんの「最近のSymfony Standard Editionのディレクトリ構成」でした。 内製フレームワークからの移行先を探してSymfonyを調査中です。その過程でDIのAuto Wiringの使い方を確認したので、ここにまとめます。 概要 Symfony 2.8ではサービスのAuto Wiringが可能になりました (New in Symfony 2.8: Service Auto Wiring (Symfony Blog))。これまでは、services.ymlにサービスの名前とクラス名の定義、依存先のサービスも(たとえばコンストラクタの引数として)指定が必要でした。Auto Wiring有効時は、コンストラクタのタイプヒンティングを利用して、これらの定義が簡略化できるように
User_Centric_Tests Codeception provides high-level domain language for tests. Tests are represented as a set of user's actions. Learn More Browser_Testing Tests can be executed using Firefox, Chrome, Safari or Cloud Testing services with Selenium WebDriver. Browser can be emulated with HTTP-requests through CURL with PhpBrowser. Learn More Framework_Testing Tests can be executed inside a PHP frame
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く