タグ

関連タグで絞り込む (183)

タグの絞り込みを解除

phpに関するChiseiのブックマーク (344)

  • PHPスクリプトをシェルのバックグラウンド実行で動かす方法 - Qiita

    はじめに シェルコマンドでは、各コマンドを&でつなぐことでバックグラウンド実行を行うことが出来ます。 これを使って複数のコマンドの同時実行などが可能です。 便利ですよね。 ただ、この方法でphpのスクリプトをバックグラウンド実行しようとしても出来ずにハマったのでその解決法をメモ。 バックグラウンド起動成功例 sleep 10を2回起動しているにもかかわらず、totalの実行時間は10秒で済んでいる ~% date;echo 'Start jobs!'; sleep 10 & sleep 10 & wait;date Thu Jan 8 12:58:40 JST 2015 Start jobs! [5] 27000 [6] 27001 [5] done sleep 10 [6] done sleep 10 Thu Jan 8 12:58:50 JST 2015 ただし、PHPで記載されたスク

    PHPスクリプトをシェルのバックグラウンド実行で動かす方法 - Qiita
    Chisei
    Chisei 2015/01/09
    昔はまったことあって今もよく忘れるやつだ。
  • 『例えば、PHPを避ける』以降PHPはどれだけ安全になったか

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

    Chisei
    Chisei 2014/12/22
  • intervention.io | First-Class PHP Software

    Intervention.io Intervention.io is the producer of high quality open source PHP libraries. In particular, Intervention Image is known as the most popular PHP library for image processing. The goal for all releases is to provide the ability to accomplish complex tasks in a simple and expressive way without sacrificing flexibility. In addition, the following quality features are important. Quality m

    intervention.io | First-Class PHP Software
  • PHPにおける宣言的集合操作入門:Ginq

    配列、連想配列といったデータの集まり - 集合に対する操作は、日々のプログラミングにおいて頻繁に記述するコードの1つです。その一方で、旧来の愚直なループを使った集合操作はコードを複雑にする大きな要因となります。これに対処するために、Microsoftは統合言語クエリ:LINQ(Language-Integrated Query)を開発しました。LINQ to Objectsのページには、LINQを使うメリットとして次のように説明があります。 質的に、LINQ to Objects は、コレクションを扱うための新しい方法です。 従来の方法では、複雑な foreach ループを記述して、コレクションからどのようにデータを取得するかを指定する必要がありました。 LINQ を使用する場合は、何を取得するかを表す宣言コードを記述します。 また、LINQ クエリには、従来の foreach ループと

    PHPにおける宣言的集合操作入門:Ginq
    Chisei
    Chisei 2014/01/19
    読んだ。
  • Ratchet -PHP WebSockets

    Ratchet WebSockets for PHP Ratchet is a loosely coupled PHP library providing developers with tools to create real time, bi-directional applications between clients and servers over WebSockets. This is not your Grandfather's Internet. Learn more » Fast & Easy Write your own chat (aka "Hello World!" for sockets) application in a matter of minutes. After understanding "the new flow" - event driven p

  • Add MIT license.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Add MIT license.
  • php execute a background process

    I need to execute a directory copy upon a user action, but the directories are quite large, so I would like to be able to perform such an action without the user being aware of the time it takes for the copy to complete. Any suggestions would be much appreciated.

    php execute a background process
    Chisei
    Chisei 2013/11/11
  • PHP例外RuntimeException、LogicExceptionの使い分け : ソースコードと翻訳が大好き

    PHPには次の2種類の例外系が存在しますね。RuntimeExceptionLogicExceptionこれはどのように使い分けるべきなのかについて PHPのドキュメント(http://www.php.net/manual/)をベースに調べてみたので共有します。 まずは結論! RuntimeException系 : 運用で通常発生しうる例外。 発生してもバグとは限らない。通常の例外。 例) throw new RangeException("規定範囲外の値が入力されました");LogicException系 : バグ検出のために仕込む例外。 来、実運用時には発生しない。発生したらバグ。 例) throw new LogicException("引数で数値以外を渡さないでください!!"); java にも同名の例外がありますが、java の使い分け方とは全く異なるので java 使いには要

    PHP例外RuntimeException、LogicExceptionの使い分け : ソースコードと翻訳が大好き
    Chisei
    Chisei 2013/11/05
    技術的例外はLogicException、ビジネス的例外はRuntimeExceptionに寄せたほうが良いのではないかと思った。合っているかはわからないけど。
  • PHP: ビルトインウェブサーバー - Manual

    警告 このウェブサーバーは、アプリケーション開発の支援用として設計されたものです。 テスト用に使ったり、制約のある環境でアプリケーションをデモするために使ったりすることもできるでしょう。 あらゆる機能を兼ね備えたウェブサーバーを目指したものではないので、 公開ネットワーク上で使ってはいけません。 CLI SAPI にはウェブサーバーの機能が組み込まれています。 このウェブサーバーは単一のシングルスレッドプロセスしか実行しないので、 リクエストがブロックされると、PHP アプリケーションはストールします。 URI リクエストの処理は、PHP を開始した時点の作業ディレクトリから行われます。 -t オプションを使えば、ドキュメントルートを明示的に指定することができます。 URI リクエストにファイルが含まれない場合は、指定したディレクトリにある index.php あるいは index.htm

    Chisei
    Chisei 2013/10/04
  • CURL and HTTPS, "Cannot resolve host"

  • PHP: ガベージコレクション - Manual

    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

    Chisei
    Chisei 2013/09/13
    そういえばちゃんと読んだことなかったので読んでみるか。
  • PHPカンファレンス2013

    PHPカンファレンス2013への参加登録 PHPカンファレンス2013への参加登録は、コミュニティサービスを提供するDoorkeeperから受け付けています。イベントページからメールアドレスを入力してご参加ください。

    PHPカンファレンス2013
    Chisei
    Chisei 2013/09/01
    田中さん委員長だったのか。
  • ファールス: PHPでファイルのMIMEタイプ取得に何を使う?explode? pathinfo? finfo_file?

    PHPでファイルのMIMEタイプ取得に何を使う?explode? pathinfo? finfo_file? ファイルの拡張子からMIMEタイプを取得するいくつかのやり方をまとめました。 1つ目は、拡張子とMIMEタイプの配列を作って、ファイルの拡張子からMIMEタイプを取得する方法。 $fileName = 'image.jpg'; $mimeTypeList = array( 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jp2' => 'image/jp2', 'png' => 'image/png', 'gif' => 'image/gif', ..... ); $extension = strtolower(pathinfo($fileName, PATHINFO_EXTENSION)); $mimeType = $mimeT

    Chisei
    Chisei 2013/08/23
  • https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md

    https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
    Chisei
    Chisei 2013/08/19
  • Tek-X: A Framework for People who Hate Frameworks - Lithium

    All web application frameworks suck. Some are too complex for the task at hand, and others don’t offer enough flexibility when your application steps outside of the confines of the ubiquitous blog tutorial. As stated by the venerable Sean Coates: “the #1 reason to avoid frameworks: you’ll spend all your time working around edge cases.” Lithium, a new PHP 5.3+ rapid application development framewor

    Tek-X: A Framework for People who Hate Frameworks - Lithium
    Chisei
    Chisei 2013/08/18
  • PHP5.4のtraitの使い道: クラス書く必要がないときはtrait書けばいいと思う - id:anatooのブログ

    何かの処理を共通化するために抽象クラス書いて継承させるというのはよくやるやり方だけど、抽象クラスを継承させるのはtraitに比べて制限が大きい。というのも、クラスはひとつしか継承できないが、traitは何個でもクラスに適用できるからで、わざわざ制限の大きいほうを選ぶ理由が無ければtrait使えばいいよという話。これはクラスを継承させるよりもインターフェイス使ったほうがいいよーと言われる話と似ている。これもインターフェイスはクラスの継承と違っていくつもクラスに適用できるため。 PHP5.4から導入される予定のtraitってなんぞという人は、PHP5.4のtraitを使ったシングルトンパターン実装によるtrait入門 - id:anatooのブログを参照する。 どうしても抽象クラスを作って継承させたいという場合も、まずインターフェイスを定義してその抽象クラスがそのインターフェイスを実装したほう

    PHP5.4のtraitの使い道: クラス書く必要がないときはtrait書けばいいと思う - id:anatooのブログ
  • この先生きのこるには

    ちょっとずつ複雑なことをやっていっているのですが、正直まだ自分で作っていくイメージがついていません。 加速と減速=イージングタイムラインパネルのフレーム数がでてるとこの下のスライダーでワークエリアの幅を操作できるグラフエディターというのが存在する。値グラフと速度グラフ。グラフを編集するときに触るのはハンドルだけイージングの速度が早くてコマが見える時はモーションブラーをかける(13:40)モーションブラーは色々ごまかせてしまうので最後につけたほうがいい。処理が重いから最初のほうでつけるとプレビューのときにしんどいとかもある(ただプレビューのときだけオフにするとかもできる)

    この先生きのこるには
    Chisei
    Chisei 2013/08/12
    PHP Sandboxに目が行った
  • PHP extensionとZend extensionの違い - hnwの日記

    PHPのextensionにはPHP extensionとZend extensionという2種類があります。これらの違いが何なのか、PHPの実装レベルから調べてみました。 PHPのextensionについて PHPのextensionには2種類が存在します。これらは次のようにphp.iniでロード指定する構文が異なります。 extension=extension.so zend_extension=/path/to/extension.so 稿では「extension=」でロードされるものをPHP extension、「zend_extension=」でロードされるものをZend extensionと呼びます。これらはPHPのソースコード中ではそれぞれmoduleとextensionと呼ばれているので注意してください。 代表的なZend extensionとしてはXdebugとZend

    PHP extensionとZend extensionの違い - hnwの日記
    Chisei
    Chisei 2013/08/01
    読んだ。
  • PHPerなら知っておいて損はない10の関数

    こんにちは。小川です。 日は数あるPHPの関数の中でも、わりと知られてそうで実は知らない人もいるかもしれない便利な関数をご紹介します。 ■nl2br 改行コードを<br />に変換する関数です。 <?php $string = <<<EOS foo bar baz EOS; echo nl2br($string);

    PHPerなら知っておいて損はない10の関数
    Chisei
    Chisei 2013/07/26
    文字丸めるやつ知らなかった
  • MemcachedでPHPのセッション管理 on AmazonEC2 | Linux練習帳

    複数のWebサーバでロードバランス環境を構築する際には、セッション情報の保持を考慮しなければならない。初期設定のPHPは、セッション情報をファイルとして保持しているため、異なるWebサーバに処理が割り振られるとセッション情報が消失してしまうからだ。こういった環境においてセッションを維持する方法は2つある。 セッション維持方法 同じユーザは同じサーバに割り振る セッション情報をサーバ間で共有する 1の手法は、Webサーバに手を加えなくて良い反面、Webサーバが故障した場合はセッション情報が失われる。2の方法はセッション情報の共有コストが発生するが、サーバ故障による障害を防げるし、負荷状況に応じて動的にWebサーバの数を増減させることもできる。そこで、2の方法をつかってセッション情報の共有を試してみた。幸い、PHPにはmemcachedを用いたセッション管理機能がある。この機能を適切に設定する