タグ

PHPに関するwindishのブックマーク (67)

  • PHPセッションのGCを非同期にする

    概要 PHPのセッションハンドラをデフォルトで使っている場合のガーベージコレクタ(GC)の話。PHPはサーバ上で保存してあるセッション情報を保存してあるファイルをを定期的に削除している。削除するタイミングはPHPが起動する時、HTTPリクエストまたはコマンドラインからPHPが起動した際に一定の確率でGCが起動するようになっている。Javaのアプリケーションサーバならメモリ上にJVMが常駐しているからプログラムの起動とは非同期にできるが、PHPは同期で処理している。そのため、PHPではGCが起動したときにプログラムの実行時間が長ってしまう。よって、大規模サイトになったときには必然的にセッションファイルが扱うセッションが多くなるため、GCにかかる時間が長くってしまうから、同期によるPHPのGCに任せないで自前で非同期にGCを行うべき。 設定項目 PHPのGCを制御する設定はphp.iniに記載

    PHPセッションのGCを非同期にする
    windish
    windish 2015/02/17
  • Brandon's Blog

    programming talkHello, my name is Brandon and I'm a programmer from Halifax, Nova Scotia. I love programming, and this blog is a way for me to share my knowledge and passion for programming with others. I hope you find something of value here! I just released my latest project, util.php to GitHub. Util.php is a single file that you can include in any of your projects without worrying about conflic

    windish
    windish 2015/01/27
    なんか便利げ
  • セッションの有効期間とか設定とか挙動とかを調べました - [PHP + PHP] ぺんたん info

    PHPでログインページを作ったりするときに、よくセッションを使ったりすると思いますが、 じゃあセッションってどのようになってるのでしょうか。 [参考]セッション固定攻撃 [参考]GPC(GET/POST/cookie)以外の情報を送るアラワザ [参考]アンダーバーのあるドメインではセッションクッキーは使用できません セッションの破棄されるタイミング ガベージコレクト(ガベージコレクション、ガーベッジコレクション、ガーベッジコレクタともいわれます)とは、『ごみ拾い』という意味です。 session_start()が行われたときに、session.gc_probabilityを分子、session.gc_divisorを分母とする確率で、 session.gc_maxlifetimeよりファイル更新日付の古いファイルをsession.save_pathから削除します。 デフォルトでは、1/10

    windish
    windish 2015/01/13
    詳しい検証記事。参考になりました
  • PHP処理系の未来 | gihyo.jp

    PHPユーザーの皆様、あけましておめでとうございます。稿ではPHPとHHVMの2つのPHP処理系について紹介します。今後のPHPのトレンドを占うのにお役立ていただければ幸いです。 PHPの現在 稿執筆時のPHPの最新バージョンは5.6.4です。最近のPHPはマイナーバージョンアップを1年ごとに繰り返すスタイルになっており、PHP 5.6.0はPHP 5.5.0から14ヶ月後の2014年8月にリリースされました。PHP 5.6ではphpdbgという新デバッガが同梱されるようになるなど注目点もありましたが、過去のバージョンアップに比べると変化が小さいバージョンアップでした。 ところで、PHPの次のバージョンアップではメジャーバージョンアップを予定しており、バージョン番号としては7.0となります。メジャーバージョンが5から7へと一気にジャンプするのは珍しい現象ですが、過去に開発中止となったP

    PHP処理系の未来 | gihyo.jp
    windish
    windish 2015/01/02
    知らないことばかりでおもしろかった。
  • そのオブジェクト指向入門は間違っている(大げさ) - Webアプリエンジニア養成読本 AdventCalendar2014 25日目最終日! - uzullaがブログ

    はい、Webアプリエンジニア養成読 AdventCalendar2014です。突然トリをやる事になってしまったので、どうしたもんかとおもいます…。 「最終日だぞ…ちゃんとかかないといけない…しかしネタはない…そうだリンク集を作ろう!」とか思ったんですが、そもそもアドベントカレンダーってリンク集だよねって気付いて愕然としているクリスマスの夜です。現在朝の4時、これを書き終えて寝たい。 さて…何を話そう ここまでWebアプリエンジニア養成読アドベントカレンダーということで続けてきました。そして今日は25日、ついに最終日です! Webアプリエンジニア養成読 Advent Calendar 2014 - Qiita Webアプリエンジニア養成読[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus) 作者:和田 裕介,石田 絢一 (uz

    そのオブジェクト指向入門は間違っている(大げさ) - Webアプリエンジニア養成読本 AdventCalendar2014 25日目最終日! - uzullaがブログ
    windish
    windish 2014/12/25
    文体が楽しい
  • 『例えば、PHPを避ける』以降PHPはどれだけ安全になったか

    この記事はPHPアドベントカレンダー2014の22日目の記事です 。 2002年3月に公開されたIPAの人気コンテンツ「セキュアプログラミング講座」が2007年6月に大幅に更新されました。そして、その一節がPHPerたちを激しく刺激することになります。 (1) プログラミング言語の選択 1) 例えば、PHPを避ける 短時日で素早くサイトを立ち上げることのみに着目するのであれば、PHPは悪い処理系ではない。しかし、これまで多くの脆弱性を生んできた経緯があり、改善が進んでいるとはいえまだ十分堅固とは言えない。 セキュアプログラミング講座(アーカイブ)より引用 「PHPを避ける」とまで言われてしまったわけで、当然ながらネット界隈では炎上を起こし、現在はもう少しマイルドな表現に変わっています(参照)。 稿では、当時のPHPの状況を振り返る手段として、この後PHPセキュリティ機能がどのように変化

    windish
    windish 2014/12/22
    新しいPHP使いたいです先生…
  • PHP - 型の比較表

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    windish
    windish 2014/12/18
    こことにらめっこしていて辛かった日々
  • PHP 文字列リテラルにおける変数展開ノ全テ - do_aki's log

    はじめに 記事は、PHP Advent Calendar 2013 18日目です。 前日は @oasynnoum さんの http://oasynnoum.blogspot.jp/2013/12/raspberry-pi-php.html でした。 ラズパイ x php ってあまり見ない組み合わせだったので、なかなかに新鮮でした。 さて、まず初めに大事な前提を。 この記事に書かれている内容は php-5.5.7 のコードをベースにしています。それ以前のバージョンでもだいたい同様に動くと思いますが、今後のバージョンで同じように動作するかどうかは分かりません。 世にも奇妙な php 早速ですが問題です。 code.1 は、何が出力されるでしょうか? code.1 <?php echo "${" . " . " . "}"; ぱっと見では "${ . }" が出力されそうに見えるこのコード、正

    PHP 文字列リテラルにおける変数展開ノ全テ - do_aki's log
    windish
    windish 2014/11/05
    奥が深いというか、闇が深い
  • https://codepad.viper-7.com/

    windish
    windish 2014/09/29
    PHPのコード実行サービス。新しいバージョンにも対応しててべんり
  • PHPerの書くコードの保守性・管理性が劇的に上がるのスマートな方法

    みなさんお仕事の進捗どうですか? 今日は ふと今こそ保守性・管理性が劇的に上がるPHPのスマートなコードの書き方まとめを俺が書くときじゃないだろうか。 — そーだい@初代ALF (@soudai1025) 2014, 8月 12 こんな軽はずみな発言をしてしまったが故にネットで触れては行けない3大炎上案件について触れる。 ※ネットで触れては行けない3大炎上案件とは? Excel関連(スクショとか) 宗教(エディタとか) PHP のこと。 で今話題の元ネタを既に@sue445さんが魚拓してくれてる。 「Hello! my name is 404 お探しのページはありませんでした!申し訳ありません。。」 http://t.co/MS8Xy0bCMz 魚拓とっててよかったw http://t.co/UvG3gzsPul — sue445 (@sue445) 2014, 8月 12 (炎上したら即

    windish
    windish 2014/08/13
    いいエントリ
  • PHP: The Right Way

    ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ

    windish
    windish 2014/08/13
    PHPやるなら
  • 保守性・管理性が劇的に上がるPHPのスマートなコードの書き方12選 | BULK SERVER blog

    プログラミング言語には様々なものがありますが、その中でも比較的人気なのがPHPです。PHPHTMLファイルに直接記述できるスクリプト言語であり、その手軽さや言語自体のわかりやすさなどから、主にWebサービスの制作でその人気を獲得しています。 PHPは他の言語に比べてとても簡単な仕様となっており、初心者でもすぐにマスターすることができるものです。そして、同じプログラムを書く際でも複数の書き方が可能になっており、使用者に合わせた柔軟性も兼ね備えています。 そのような様々な書き方があるならば、なるべく手短でスマートなコードの書き方をマスターしたいものです。コードをスマートに記述することは以下のメリットがあります。 見やすくなることで保守・管理性の向上 コード量の短縮 記述時間(制作時間)の短縮 組織でのプログラミングルールの簡潔化が可能 このようにメリットが様々あるので、同じプログラムであれば

    保守性・管理性が劇的に上がるPHPのスマートなコードの書き方12選 | BULK SERVER blog
    windish
    windish 2014/08/12
    2まで読んでありえないと思って閉じた
  • Smarty - PHPで利用するテンプレートエンジン

    SmartyはPHPで利用できるテンプレートエンジンです。Smartyを使うことで画面デザインとプログラム部分を分けて開発することが容易となります。ここではSmartyのインストールと実際の利用方法について確認していきます。 ダウンロード インストール php.iniへの設定追加

    windish
    windish 2013/10/22
    まとまってる
  • 【日本語版】ZendFramework2(ZF2)チュートリアル

    語のチュートリアルが無く、スタートアップに苦労したので ソースコード付きの解説をエントリーします。 【日語版】ZendFramework2(ZF2)チュートリアルをエントリーポイントからコントローラ、 ビューへの値渡しからモジュールの設定まで、初めに必要な事をソースコード付きで解説します 大きく変わったZendFramework2(ZF2) スケルトンプロジェクトを用意しよう! スケルトンプロジェクトからZendFramework2を使える様にする コントローラの定義と実装、ビューへの値渡し モジュールの情報を設定しよう 大きく変わったZendFramework2(ZF2) ZendFrameworkは 2012年09月に大幅にモデルチェンジされ、 正式にZendFramework2(ZF2)としてリリースされました。 ZendFramework1の頃とは大幅に変わっている上に、 Z

    【日本語版】ZendFramework2(ZF2)チュートリアル
    windish
    windish 2013/10/21
  • 【PHP】PHPでSOAP通信を行う方法のサンプルコード - アナザーディメンション

    PHPの設定でSoap通信を利用可能にする方法 【PHPのバージョン】5.2.8 SOAP通信を行うには、まずPHP側での対応が必要になる。具体的にはphpinfo()を実行して以下のような表示がされなければ不可能。 もし表示されていない場合は、自前でPHPを再構築する必要がある。ソースからインストールする場合はConfigureに「–enable-soap」を追加するだけでOK。 ここまで準備ができていれば、実装自体は非常に簡単。 PHPからサービスを実行する方法 $client = new SoapClient('【WSDLファイルのURL】'); こんな感じで書けばSOAP通信が可能となる。ここでいうWSDLファイルというのは、SOAP通信に必要となる定義情報が記載されたXMLのことで、通常はSOAPサービスを提供する側が用意しているはずなので、そのURLを指定すればよい。 WSDL

    【PHP】PHPでSOAP通信を行う方法のサンプルコード - アナザーディメンション
    windish
    windish 2013/01/21
  • Magic3 - プログラムが分からなくても使えるプログラミングレスCMS - Magic3

    2019-04-12 RecentDeleted InterWikiName 2018-11-28 実装目標とリリース予定 2018-05-07 MenuBar 2017-08-03 Magic3 2017-03-06 BracketName 2014-03-14 ログイン 2014-01-17 管理者パスワード再送 2013-11-25 バックアップ DBのバックアップリストア コンセプト - プログラムが分からなくても使えるCMS † 動かないのはあなたのせい? 通常、プログラム知識がないとCMSは使えません。しかし素人がプログラムを触れば触るほど壊れていくのがCMSです。 もがけばもがくほど底なしの沼に沈み、結局陽の目を見ることがなかったサイトは一体どれくらいあるるでしょうか。 Magic3は、プログラムのことがまったく分からなくてもかなりいろんなことが出来る、プログラミングレスCM

    windish
    windish 2013/01/10
    気になる
  • MAMP & MAMP PRO - your local web development solution for PHP and WordPress development

    MAMP PRO for Windows MAMP PRO is the commercial, professional frontend for the classic local server environment: MAMP. With MAMP PRO you can create a separate host for each of your web projects. You can install WordPress and other Extras like Joomla or Drupal with just a few clicks. This is just a small part of what you can do with MAMP PRO. Buy MAMP PRO for Windows MAMP for Windows MAMP is a free

    MAMP & MAMP PRO - your local web development solution for PHP and WordPress development
    windish
    windish 2013/01/10
    XAMPPのMac版みたいな感じ?
  • CakePHP+Jenkinsによるアジャイル開発 #phpmatsuri

    2012/11/3に博多で行われたPHPMatsuri2012で話をした際のスライドです。CakePHPとタイトルにありますが、CakePHPの話はほとんどありませんw。内容は過去のワンクリックデプロイ勉強会の再構成です。

    CakePHP+Jenkinsによるアジャイル開発 #phpmatsuri
    windish
    windish 2012/11/04
    すごいというかさすがだなあ。
  • はじめてのフレームワークとしてのFuelPHP

    内容紹介こんなフレームワークが欲しかった!FuelPHP は、2011 年7 月に最初のバージョン1.0 がリリースされた最新のフレームワークです。先行する多くのフレームワークを参考に、PHP 5.3 の機能をフルに活用しゼロから開発されました。最初からMongoDB やRedis をサポートし、RESTful なコントローラをすぐに作成できる最先端のフルスタックなフレームワークです。しかも、シンプルで覚えやすく、かつ、軽量高速です。 新しいフレームワークですが、すでにGitHub では100 人以上の開発者がFuelPHP の開発に参加しており、ユーザも徐々に増え、品質や安定度も急激によくなってきています。書は、そのFuelPHP の2012 年6 月にリリースされた最新のバージョン1.2 に関する日初の入門書です。 書のテーマは、フレームワークを使ったことのないPHP ユーザの方

    はじめてのフレームワークとしてのFuelPHP
    windish
    windish 2012/08/03
    よさげ
  • はじめての DynamicMTML #12 - 静的ファイルの PHP を実行する | DynamicMTML | かたつむりくんのWWW

    前回の記事「はじめての DynamicMTML #11 - MT タグの中で PHP を実行する」の中で、「DynamicMTML では、テンプレート中の PHP も実行してくれます」と書きましたが、今回はそれについて少し詳しく見ておこうと思います。 1. 普通の PHP ファイルを置いてみる まず、DynamicMTML が有効な環境下に、以下のような普通の PHP ファイル「staticfile.php」を置いてみます。 <!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="UTF-8"> <title>サンプル</title> </head> <body> <h1><?php print 'Love DynamicMTML'; ?></h1> <p><?php print $_SERVER['PHP_SELF']; ?></p>

    はじめての DynamicMTML #12 - 静的ファイルの PHP を実行する | DynamicMTML | かたつむりくんのWWW