タグ

phpに関するrgfxのブックマーク (171)

  • php.js - PHP VM with JavaScript

    This library reads PHP code and transforms it into JavaScript code which can be run in the PHP VM in this library, resulting in same results as with PHP. It starts by tokenizing the PHP code into tokens, which it then uses to build an AST tree. Once the tree has been constructed, the script compiles it into JavaScript that can be interpreted by the VM and then executes it. Any additional unconvert

    rgfx
    rgfx 2012/07/26
    TDDでPHPUnitで機能確認しながらすすめておるよ、と。ブクマ時でPassed 604 out of 670 (90.1%)だとか。
  • OrePHPはこれでさらに高速になった(OrePhalcon) - ぷぎがぽぎ

    前回、OrePHPはシンプルで速いクールなフレームワーク - ぷぎがぽぎという内容の記事を書きましたが、これぐらいの速度で満足してはいけないということで更に高速化を考えました。 Cのエクステンションで書かれた超高速PHPフレームワーク Phalcon Phalconというフレームワークをご存知でしょうか?フレームワークをCのエクステンションで書いちゃった超高速PHPフレームワークです。 最速フレームワークと宣言してあるだけのことがあるベンチマーク結果が以下のグラフです。 前回のベンチマークをも超越しそうな結果です。というわけで、早速HelloWorldでOrePHPと比べてみます。 まずはPhalconをインストール。 エクステンションなのでgitからcloneしてきたものをいつもどおりphpnizeしてmake。 あとはphp.iniに extension=phalcon.soを追加。

    OrePHPはこれでさらに高速になった(OrePhalcon) - ぷぎがぽぎ
    rgfx
    rgfx 2012/06/19
  • PHPの組み込み関数で例外を発生させる方法

    このエントリではPHPの組み込み関数でエラー時に例外を発生させる方法を紹介します。デフォルト状態では、PHPの組み込み関数の大半はエラー時に例外を発生させません。 前のエントリで、PHPのheader関数は戻り値を返さず、エラー時に例外も発生させないことを紹介しました。これは酷い仕様だと思うのですが、どうすればエラーハンドリングできるかを考えてみました。 header関数の場合、エラー(警告)そのものは出ているので、以下の二つの方法が候補として考えられます。 error_get_last関数で直近のエラーを取得してエラー処理する set_error_handlerで定義したエラーハンドラ関数でエラー処理する どちらもモダンな書き方とはほど遠い感じです。 前者は、BASICのon error resume nextを連想させますし、直近のエラーがどの箇所で起こったかは簡単には識別できないので

    rgfx
    rgfx 2012/04/05
  • hiphop php でPHPからジェネレートされたC++コードを読んでみよう。 (後編) - お前の血は何色だ!! 4

    PHP PHP advent calendar です。 はてなダイアリーの投稿時の文字列制限により、前編と後編になってしまいました。 前編に続きhiphop phpPHPからジェネレートされたC++コードを読んでみようの後編を書きます。 forとwhile文 ループを見て行きましょう。 <?php $for_sum = 0; for($a = 0 ; $a <= 10 ; $a ++) { $for_sum += $a; } $while_sum = 0; $a = 10; while($a) { $while_sum += $a; $a --; } var_dump($for_sum,$while_sum); php/test20.cpp Variant pm_php$test20_php(bool incOnce, LVariableTable* variables, Global

    hiphop php でPHPからジェネレートされたC++コードを読んでみよう。 (後編) - お前の血は何色だ!! 4
    rgfx
    rgfx 2011/12/27
  • セッションのクッキーを設定する場合のベストプラクティス

    (Last Updated On: 2018年8月18日)HTTPセッションは通常クッキーを利用して行います。クッキーを利用したセッションの場合、お薦めする設定は以下の通りです。 ドメイン名は指定しない パスはルート(/)を指定する セッション管理用のクッキーはセッションクッキー(有効期間0)にする httponly属性を付ける 可能な場合は必ずsecure属性をつける 複数アプリケーションを利用する場合はsession.nameまたはsession_name()でセッションクッキー名で指定する (アプリケーションの固有名デフォルトで設定し、設定項目として変更できるようにする) 3まではPHPデフォルト設定です。4から6までは自分で設定しなければなりません。PHPの場合、すべてphp.iniで指定できます。session_set_cookie_params()でセッション開始前に指定すれば

    セッションのクッキーを設定する場合のベストプラクティス
  • PHPのSession Adoption脆弱性

    (Last Updated On: 2018年8月13日)PHPのセッションモジュールはセッションアダプションに脆弱なのですが、開発者の理解が得られず何年間も放置されています。 セッションアダプション脆弱性: 未初期化のセッションIDを受け入れてセッションを確立する脆弱性。 PHPのセッションIDはデフォルトでドメイン指定無し、パスは/に設定されています。専用サイトならこれであまり困ることは無いのですが、複数のアプリケーションやユーザが利用するようなサイトでは問題になります。 例えば、Chromeはパスよりドメインが優先されるのでドメインを利用したセッションIDの固定化などが起きます。IEではドメインよりパスが優先されるのでパスを利用したセッションIDの固定化などが起きます。 session_regenerate_id()を使えばOK、と考えている人も多いようですが既に設定済みのクッキーの

    PHPのSession Adoption脆弱性
  • Zend Frameworkを速くするよ

    かなり前の話題ですが、PHPのフレームワークのパフォーマンス比較記事がありました。 これを見てわかる通り、Zend Frameworkは結構遅いフレームワークです。昔、リリースされたばかりで機能がショボかったころは速いと言われたりもしましたが、Zend_Applicationが追加されてからは多機能化を突き進んでいて、それに伴って遅くなっています。 そもそもZFのセールスポイントって、「疎結合」「高い拡張性」「品質の高さ」などで、パフォーマンスは優先されていないような気もします。 でも最低限の速さは欲しいので、パフォーマンスチューニングをやってみます。 基 公式ドキュメントの「Zend Frameworkパフォーマンスガイド」を実践するのがすべての基になります。 あとはPHPの基的なパフォーマンスチューニングをやることですかね。とりあえずAPCは導入して、Xdebugで測定して、遅い

    Zend Frameworkを速くするよ
  • PHPのさらなる利用者増を目指し再定義する·PHP.reboot MOONGIFT

    PHP.rebootはJVM上で動作するPHPを再定義したプログラミング言語です。 PHPは恐らくWebサイトにおいて最も良く使われている言語でしょう。習得も容易で、手軽に色々なWebアプリケーションが作れる、そんな利便性の裏で言語仕様などについて毛嫌いされる声も聞かれます。そこで注目したいのがPHPを再定義するPHP.rebootです。 PHP.rebootの書き方です。< ?phpではなく、{}を使ってコードを埋め込みます。まさにテンプレート的です。ファイルの拡張子はphprになります。 実行結果はもちろん普通に表示されます。 サーバ、GET/POSTも使えます。面白いのは変数名に$をつけず、JavaScriptのように定義することでしょう。;も使いません。 実行結果はこのようになります。 基的な文法はPHPと似ています。SQLとの親和性を高くしており、コードの中にSQLをそのまま埋

    rgfx
    rgfx 2011/10/18
    あらかわいい。ORM付けなかったのはいいね。
  • PHP5.3.7のcrypt関数のバグはこうして生まれた

    昨日のブログエントリ「PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)」にて、crypt関数の重大な脆弱性について報告しました。脆弱性の出方が近年まれに見るほどのものだったので、twitterやブクマなどを見ても、「どうしてこうなった」という疑問を多数目にしました。 そこで、このエントリでは、この脆弱性がどのように混入したのかを追ってみたいと思います。 PHPのレポジトリのログや公開されているソースの状況から、PHP5.3.7RC4までこのバグはなく、PHP5.3.7RC5でこのバグが混入した模様です。RC5はPHP5.3.7最後のRelease Candidateですから、まさに正式リリースの直前でバグが入ったことになります。 バグの入る直前のソースは、ここの関数php_md5_crypt_rから参照することができます。以下に、おおまかな流れを図示します。まずはバ

    PHP5.3.7のcrypt関数のバグはこうして生まれた
  • PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)

    PHP5.3.7のcrypt関数には致命的な脆弱性があります。最悪のケースでは、任意のパスワードでログインできてしまうという事態が発生します。該当する利用者は、至急、後述する回避策を実施することを推奨します。 概要 PHPのcrypt関数は、ソルト付きハッシュ値を簡単に求めることができます(公式リファレンス)。crypt関数のハッシュアルゴリズムとしてMD5を指定した場合、ソルトのみが出力され、ハッシュ値が空になります。これは、crypt関数の結果がソルトのみに依存し、パスワードには影響されないことを意味し、crypt関数を認証に用いている場合、任意のパスワードでログインに成功する可能性があります。 影響を受けるアプリケーション crypt関数を用い、ハッシュアルゴリズムとしてMD5を指定しているアプリケーション。 環境にも依存しますが、デフォルトがMD5の場合もあります。筆者のテスト環境

  • Integrating Doctrine Into Wordpress

  • モテる PHP 女子力を磨くための4つの心得 - Memo

    こんにちは PHP 恋愛マネジメントを専攻している heavenshell です。私は学歴も知識もありませんしただの PHPer ですが、PHP 恋愛に関してはプロフェッショナル。 今回は、モテる PHP 女子力を磨くための 4 つの心得を皆さんにお教えしたいと思います。 1.あえて 2〜3 世代前の PHP を使う あえて 2〜3 世代前の PHP を使うようにしましょう。そして好みの PHP 男子がいたら話しかけ、わざとらしくPHP を出していじってみましょう。 そして「あ〜ん!この言語当にマジでチョームカつくんですけどぉぉお〜!」と言って、PHP 男子に「どうしたの? safe_mode ちゃんと off になってる?」と言わせましょう。 言わせたらもう大成功。 「PHP とか詳しくなくてぇ〜! ずっとコレ使ってるんですけどぉ〜! 使いにくいんですぅ〜! ぷんぷくり〜ん(怒)」と言

    モテる PHP 女子力を磨くための4つの心得 - Memo
  • DotCloud で PHP アプリを設置してみたときの色々 - 肉とビールとパンケーキ by @sotarok

    beta の invite もらったので DotCloud で遊んでみました。 dotCloud - One home for all your apps アプリ1つくらい設置してみないとなんだかよくわからないよねってことで、とりあえずどこで公開するかなーと思っていた、paste アプリ を設置してみた。 Pastit: http://www.pastit.dotcloud.com/ Pastit GitHub: https://github.com/sotarok/pastit/ DotCloud の PHP の環境は、Ubuntu 上の nginx + php5-fpm (PHP 5.3.2) が標準で、なんというか時代の流れを感じました。いいね! のは、まあいいとして、まぁ PHP アプリなんてものはたいてい Apache で動くことが前提とされてるもので (そうなのか? いや、そう

    DotCloud で PHP アプリを設置してみたときの色々 - 肉とビールとパンケーキ by @sotarok
  • Swarm of XeBees » Test Driven Development with Zend Framework and PHPUnit

    Over the past few days I was going through the Zend Framework reference docs and I found myself pleasantly surprised with all that the latest version of this web application framework provides. My first thought was to just acknowledge the speed in which PHP as a technology has been maturing. Out of the many new features, what stood out for me was the ease with which Zend Framework and PHPUnit comp

  • BiLOT » PHPUnit & Symfony functional test

    rgfx
    rgfx 2011/04/19
    なんじゃそりゃ。とりあえずこの設定をphpunit.xmlに書いとくか。>むりだった。毎回コマンドライン指定で。
  • headers already sent by (output started at /usr/local/lib/php/PHPUnit/Util/Printer.php:174) - Do You PHP はてブロ

    タイトル長くてすみません。 PHP5.2.10+PHPUnit3.3.17で、setcookie関数を呼び出すクラスをテストすると、何ともつれないメッセージが。。。 $ phpunit AClassTest.php NULL PHPUnit 3.3.17 by Sebastian Bergmann. E..... Time: 3 seconds There was 1 error: 1) testNormal(AClassTest) Cannot modify header information - headers already sent by (output started at /usr/local/lib/php/PHPUnit/Util/Printer.php:96) /path/to/AClass.class.php:118 /path/to/AClass.class.php

    headers already sent by (output started at /usr/local/lib/php/PHPUnit/Util/Printer.php:174) - Do You PHP はてブロ
    rgfx
    rgfx 2011/04/19
    同じく引っかかった。なんじゃこりゃ。
  • さあ、AWSをはじめよう! for PHPer

    春ということで、Amazon Web Services(AWS)をはじめてみませんか。 AWS盛り上がっていますね。2011年3月に東京リージョンができたことで、そろそろ触ってみようかなというPHPユーザの方も多いかと思います。 そんなあなたへ、AWSをはじめる際に役立つ情報をご紹介です。 1. AWSアカウントを新規作成して、EC2の利用申し込みを行う まずAWSのアカウントを作成して、EC2の利用申し込みを行います。 手順については、AWSエバンジェリストの @KenTamagawa さんが書かれた以下の資料が参考になります。このとおりに進めていけば、おおよそ問題無いと思います。 進める中で自分が詰まった点は以下。 郵便番号、電話番号にはハイフンを 郵便番号、電話番号はハイフンが必要なので入力するようにして下さい。 書式は日国内のもの、郵便番号8ケタ(ハイフン入り)、電話番号は12〜

    rgfx
    rgfx 2011/04/15
  • もうバージョンアップで困らない – PROVE for PHP

    (Last Updated On: 2018年8月14日)昨年のPHPカンファレンスで紹介したPORVE for PHP 開発版の公開を始めました。PROVE for PHPはこんなテストが出来ます。 PHPをアップデートしてアプリに影響が無い事を検証する PHPアプリをアップデートしても以前と同じように動作する事を検証する 使い方もとても簡単です。 テストケースの作成はブラウザからアプリを利用するだけ ロードバランサを用いて実運用サーバからのテストケースも作成可能 テストの実行はプログラムを実行するだけ 違いが在った場所はプログラムの何処か確実&簡単に判明 http://www.provephp.com/ 現状 CUIとコマンドツールでの管理のみ GUI(Web、GTK)は順次整備予定 PROVEを利用すればPHPセキュリティパッチがリリースされた場合に、アプリケーションの動作チェック

    もうバージョンアップで困らない – PROVE for PHP
    rgfx
    rgfx 2011/04/06
  • PHPカンファレンス関西に行って.発信力と熱さを感じてきた

    PHPカンファレンス関西に遠征してきました PHPカンファレンス関西 さる2011年4月2日に,PHPカンファレンス関西に名古屋から参加させていただきました.集合写真では,名古屋遠征組でセンターに居座るという暴挙を犯してきてしまいました.ごめんなさい!(眼鏡と室内帽子の失礼なやつが自分) 名古屋遠征組の犯行写真 以下,"編セッション"と,"LT+懇親会LT"は,それぞれを分けて感想をば. 自分は,名古屋のWeb制作会社に勤めて,プログラマ2年目を満了した頃のPHPerです.普段はフロントエンド寄りの実装してます. ※テキストだらけで読みづらい記事となっております.ごめんなさい. 編セッションつらつら 全体的には,PHPの話題というより,クラウドとかアーキテクチャとかの話が多かった印象です.PHPに関連した周辺トピックという感じでしょうか. 得たところ プログラム – PHPカンファレン

    PHPカンファレンス関西に行って.発信力と熱さを感じてきた
  • 典型的PHPerの13の悪癖

    PHPerの問題点は、視野が狭いこと。典型的には以下のような悪癖を持つ。 パスワード認証sshでサーバーにログインし、vimemacsで開発をする。SVNなどのバージョン管理システムで、使い方が分からないのでブランチを切った事が無い。ウェブしか開発したことが無いのに、ソフトウェア技術全般を語る。RDBは難しいからと言って、簡単なSQLしか、もしくは簡単なSQLも書かない。PHPなどのスクリプト言語しか知らないのに、プログラミング言語の優劣を語る。PHPの遅さを知らないのに「最近のマシンは速いからプログラミング言語に速度は求められていない」と言い切る。クソ重いPHPをLightweight Languageと言ってしまう。クソ重いPHPで、デザパタとか言い出す。クソ重いPHPで、クソ重いフレームワーク(CakePHP、symfony、Zend Framework)にこだわる。クソ重いcon

    典型的PHPerの13の悪癖
    rgfx
    rgfx 2011/03/30
    BigDecimalクラスがないのは痛いなぁと。JavaはAndroidでしか触ってなかったり。うう。/SQLなぁ、ORMの方が逆にめんどい。/javaはjavaでOracleがうざい←