タグ

phpに関するsudoemacsのブックマーク (34)

  • hidefを試す - スコトプリゴニエフスク通信

    一流のペチパーとやらにもなれば、「PHPのdefineはコストが高いからねー」とドヤ顔で語りつつ hidef なるものを使うらしい。http://pecl.php.net/package/hidefしかし、"PHP hidef"とかでググっても、インストールの仕方とかごく基的なことはともかく、hidefを使ったアプリケーション設計とか、ラッパーライブラリとか(hidef単体で使うのはキツい)、運用のベスト・プラクティス的な記事は全然出てこない感じがするのだが、当に一流のペチパーとやらは呼吸するかのごとくhidefを使いこなしているのだろうか? インストールhidefパッケージを提供しているディストリビューションはあまりないように見えるので、一番無難な方法、peclでインストールする。 $ sudo pecl install hidef RHEL系の場合、 $ sudo yum inst

  • php-buildで複数バージョンのPHP-FPMを用意する - hnwの日記

    (2016/8/9)PHP7やHomebrewの現状に合わせるため細かい点を修正しました。 ついにPHP 5.5.0がリリースされましたね!これに関連して、php-buildを使ってPHP 5.3/5.4/5.5の3バージョンのPHP-FPM環境を用意する方法を紹介します。 この記事は「phpenv + php-build を使って 5.3 と 5.4 を共存させつつ php-fpm を使う - 肉とご飯と甘いもの @ sotarok」のアップデートのような内容になっています。ありがとうsotarok! PHP-FPMとは PHP-FPMPHPのSAPI実装の一つで、単体で動作するアプリケーションサーバです。Apacheなしで動くので、気軽に扱えたりします。あまりうまく説明できないので、詳しくはPHP-FPM家サイトあたりを見てください。 phpenv+php-buildのセットアップ

    php-buildで複数バージョンのPHP-FPMを用意する - hnwの日記
  • X-Powered-Byヘッダを表示しないようにする|株式会社 フラッツ

    那須です。 PHPのtipsです。PHPを使ったWeb開発者であれば、皆さんご存知とは思います。今回は、どちらかというとWeb開発を始めたばかりの方などの参考になればと思います。 PHPのスクリプトを実行すると、下記のようなHTTPヘッダが出力されます。 X-Powered-By: PHP/x.x.x x.x.xの部分は、そのとき使用しているPHPのバージョンです。 HTTPヘッダは、通常、ブラウザでサイト表示する場合、目に見えませんが、見ようと思えば、誰でも簡単に見ることができる情報です。 こうした誰もが見られるところに、PHPのバージョンが表示されることは、セキュリティ上の問題となります。 例えば、サーバに対して攻撃を仕掛けようとする攻撃者は、HTTPヘッダからPHPのバージョンを調べることで、そのバージョンに潜むセキュリティホールから攻撃を仕掛けることが可能になります。もちろん、バー

  • 配列とリファレンスの奇妙な動作【PHP】 - Programming Magic

    注意:ここで、$a と $b は完全に同じで、$a が $b を指しているわけではなく、その逆でもありません。$a と$b は同じ場所を指しているのです。 つまり、↓こういうことだ。 さらに、「PHP: リファレンスが行うことは何ですか? - Manual」にはもう一つ注意が書かれている。 注意: リファレンスを含む配列をコピーする際に、そのリファレンスが解消される ことはありません。配列を関数に値渡しする場合も同様です。 つまり、最初のコードの動作はバグではなく正しい動作をしていたということになる。 <?php $array[0] = 1; $array[1] = 2; $array[2] = 3; $ref = &$array[1]; //$array[1]と$refがリファレンスになる $copy = $array; //$array[1]のリファレンスがそのままコピーされる。 $c

  • PHP5.3.2以降ではfcloseで自動的にアンロックされない

    PHP家サイトでflockの説明を読んでいたら、以下の変更履歴に気がつきました。 5.3.2 ファイルのリソースハンドルを閉じたときにロックを自動的に解放する機能が削除されました。 ロックの解放は、常に手動で行わなければなりません。 http://php.net/manual/ja/function.flock.php ところがネットの解説を見ると、ロック開放はflock($fp, LOCK_UN); ではなく、fcloseでやれとしている解説が結構あります。 (4)fcloseの前にflock解除するな … fcloseの前にflock(ファイルポインタ, LOCK_UN) する人は実に多いのですが、これははっきりと間違いだと断言します @ITPHPの記事が突っ込みどころ満載 - 暴言満載 LOCK_UNは普通は使われない。ロック開放はfclose()関数でやるのが鉄則。 http

    PHP5.3.2以降ではfcloseで自動的にアンロックされない
  • 『phpのAPCでEC-CUBEを動かす』

    phpのAPCが動作しているサーバにEC-CUBEを入れたところ,エラーが発生し,adminにlogin出来ない状態となってしまった. 以下エラー内容 PHP Fatal error: Class 'SC_DB_DBFactory_MYSQL_Ex' not found in/hoge/eccube/data/class_extends/db_extends/SC_DB_DBFactory_Ex.phpon line 51 環境 PHP:5.2.11 APC:3.0.19 ググったところ,APCのバグが問題となっている模様. Bug #48686 Cyclic inclusion of classes http://bugs.php.net/bug.php?id=48686 APCwordpressやその他のphpにも有効なものなので,なんとかそのまま動かせないかと四苦八苦してみた. 対

    『phpのAPCでEC-CUBEを動かす』
  • 重いphpがタイムアウトしてしまう場合のTips : SiGT Web Studio

    一般的に公開されているWebでは滅多にない話ではありますが…。 処理にものすごーく、時間の掛かるphpスクリプトが途中でタイムアウトしてしまい、丸一日程無駄にしてしまったので備忘録的にメモしておきます。 【ブラウザにタイムアウトのメッセージが出る場合】 エラーメッセージの内容は Fatal error: Maximum execution time of 30 seconds exceeded in…… この場合はphp.iniの中のmax_execution_timeの数字を大きな数字にするか、「0(無制限)」にしてしまえばOK。apacheを再起動しましょう。 php.iniが直接いじれない場合は.htaccessに

    重いphpがタイムアウトしてしまう場合のTips : SiGT Web Studio
  • nginx + PHP-FPMで巨大なファイルをダウンロードさせる | 高橋文樹.com | プログラミング

    この投稿は 12年 前に公開されました。いまではもう無効になった内容を含んでいるかもしれないことをご了承ください。 さて、つい昨日Tips記事を収益化できないかなという邪な感情から「WordPressで管理画面以外から投稿させる機能を作る」というエントリーをぶち上げたのですが、コンテンツ公開後、コーディング画面を録画したビデオがダウンロードできないという報告を受けてしまいました。 端的にいうと、270MBという巨大なファイルだからダウンロードできなかったわけです。 この動画がダウンロードできなかった 一応有料で販売しているものなので、こりゃまずいと直しにかかったのですが、異常に時間がかかりました。これはその闘争の記録です。 Apache + mod_phpで巨大ファイルをPHPでダウンロードさせる さて、今回のように、サーバにぽこっとファイルを置いておくだけではなく、PHPでユーザーにアク

    nginx + PHP-FPMで巨大なファイルをダウンロードさせる | 高橋文樹.com | プログラミング
  • 「8時間耐久 PHP構築の教室」を開催しました。 : candycane development blog

    今回も怒涛の8時間耐久という感じで、いつになくハードな内容になりました。 VPSを借りたりするとブログなどをみて見よう見まねで構築をする事もあるかと思いますが、ソースからPHPをビルドしてインストールするという流れを通じてPHPの動作原理や、はやりのnginx + php-fpmの構成を構築してWordPressを動かすというスパルタな感じの勉強会でした。途中、仮想マシンのMACアドレスの問題やmbstringの問題でapacheがクラッシュするなどの問題に直面しましたが、ひとまず西川さんがnginx + php-fpmWordPressを動かすというゴールには到達する事ができました。また副産物としてCでHello Worldを動かすという作業もしてみたのでビルドしてバイナリを作るという流れが身についたのかなと思います。これで4つ目の8時間耐久シリーズになったわけですが、希望があれば内容

  • CentOS5のPHPだけ、rpmからコンパイル版にさっと切り替える | サイブリッジラボブログ

    CentOS5のPHPだけ、rpmからコンパイル版にさっと切り替える by たかはた · 2012-03-23 プログラマのたかはたです。 CentOS5.x環境、便利ですよね。枯れてますよね。でもPHPのバージョンは古くて困りますよね。 symfonyとかWordPressとかやりたいし、パッチもさくっと当てたいし、でもDAG環境使うくらいならコンパイルしたいなーとか思いませんか? 環境も作りこんじゃってるので、なかなか移行しづらいなと思ってるあなた。PHPだけなら、早ければ10分で移行できちゃいますよ。 rpmからコンパイル版にして困ること2つ RedHat系のLinux上で動作するプログラムは、大体ソースも公開されています。 しかしながら、起動スクリプトとかを用意してくれて無くて、なんでも揃うRPM版を使いたくなります。 また、インストールディレクトリや設定ファイルが/usr/loc

    CentOS5のPHPだけ、rpmからコンパイル版にさっと切り替える | サイブリッジラボブログ
  • PHP5.4のインタラクティブシェル: 細かな改善 (PHP5.4 Advent Calendar2011 一日目) - id:anatooのブログ

    PHPに限らず、プログラミング言語のちょっとした挙動や関数の動作を確認したいときがよくあります。そういう時、何か小さなコードをエディタで書いてコマンドラインで実行するのも良いですが、インタラクティブシェルを使うとより便利です。また、PHP5.4.0RC2の時点でインタラクティブシェルに関する細かな改善もあります。 この記事では、PHP5.4でのインタラクティブシェルを紹介します。 導入 PHPでインタラクティブシェルを利用する場合、configure時にオプションを指定する必要があります。PHP5.4RC2をダウンロードし、configure時に--with-readlineオプションにreadlineがインストールされているディレクトリを指定してビルドするとインタラクティブシェルが利用できるようになります。 $ cd path/to/php-5.4.0RC2 $ ./configure

    PHP5.4のインタラクティブシェル: 細かな改善 (PHP5.4 Advent Calendar2011 一日目) - id:anatooのブログ
  • Zend Frameworkでob_gzhandlerを使用する。 | PHPの種 ブログ

    Firebug用YSlowプラグインが出たことにより、またhttpレスポンス圧縮の話題が再燃しているような気がします。(参考) Apache側でmod_gzip,mod_deflateが設定できれば良いのですが、レンタルサーバなどでは設定できないことが多いです。そういった場合にはPHPアウトプットを圧縮して送信することができます。方法としては主に php.iniの設定でzlib.output_compression を有効にする。 ob_start()のコールバック関数 ob_gzhandler を使用する。 があります。 zlib.output_compressionに関してはとても簡単で、php.iniに zlib.output_compression = On の行を入れるだけです。おそらくコメントアウト状態で入っているので、 #zlib.output_compression =

  • Pretty URLs on nginx :: インストール :: CakePHPによる開発 :: マニュアル :: 1.2 Collection :: The Cookbook

    3.3.6 Pretty URLs on nginx このセクションには保留されている変更があります. More information about translationsnginx is a popular server that, like Lighttpd, uses less system resources. It's drawback is that it does not make use of .htaccess files like Apache and Lighttpd, so it is necessary to create those rewritten URLs in the site-available configuration. Depending upon your setup, you will have to modify this, but at

  • さくらのVPS 試用まとめ Arch Linux + nginx + php-fpm + php-apc | shukukei.com

    さくらのVPS を試用させていただいた以下の記事のまとめです。 さくらのVPSにArch Linuxをインストールする(1) さくらのVPSにArch Linuxをインストールする(2) さくらのVPSにArch Linuxをインストールする(3) 最近、サービスが開始された「さくらのVPS」早速試用してみました。 同様の他社サービスと比較して良いな、と思ったのが次の三点です。 ・KVMで仮想化されており、swapが利用可能である(かつ、リソースの割り当てがリッチ) ・コントロールパネル(Webインターフェース)からOS再インストールが簡単に行える(数分で再インストールが完了する) ・コントロールパネル(Webインターフェース)のリモートコンソール機能が秀逸。 ポチッと申し込んでから一時間足らずでrootログイン出来るようになりました。 rootパスワード通知メールの受信タイミン

  • AKIBE - さくらのVPS CentOSでサーバ構築 21 – Nginx

    さくらのVPS CentOSでサーバ構築 作業ノート20回目。 Apacheよりも少ないメモリ消費で、しかも高速だと言われてる最近話題のWebサーバ「Nginx」を入れてみます。CGI系はApacheと同等、静的ファイルはApacheよりもかなり高速に処理できます。 Passengerのインストールとyumのリポジトリ追加の作業が前提です。 インストール前準備 さくらのVPSの標準OSはCentOSの64bit版ですが、なぜか最初から32bit版のパッケージがいくつか入っています。Nginxをインストールする時にmysql等を最新版にアップデートしたいのですが、32bit版の影響でアップデートがエラーを起こす場合があるので、32bit版のパッケージを削除してしまいましょう。特に問題はでないと思います。 手順は簡単、root権限でyumコマンドで一発です。 [root@ ~]# yum

  • pfffを試す - スコトプリゴニエフスク通信

    https://github.com/facebook/pfffgithub上のfacebookのレポジトリで最近活発に開発されている印象があるので気になっていたツール。pfff is mainly an OCaml API to write static analysis, dynamic analysis, code visualizations, code navigations, or style-preserving source-to-source transformations such as refactorings on source code.https://github.com/facebook/pfffということでコード解析ツールらしい。が、ビジュアル化と言われて、これを見ても何に役に立つか分からなかった…実際に動かしてみるとイメージがわくかと思って試してみた。OC

  • PHPでsystem()を走らせたときに、エラーメッセージも取得する方法 - tohokuaikiのチラシの裏

    システムコマンドを使ったときに、エラーメッセージってどうやって取得するんだろう?? ・・・と、PHPのシステムコマンドのマニュアルを見ても出ない。 そういう時は、プロセスをちゃんとみるproc_openを使う。 http://jp.php.net/manual/ja/function.proc-open.php で作った関数。 <?php function system_ex($cmd, $stdin = "") { $descriptorspec = array( 0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w") ); $process = proc_open($cmd, $descriptorspec, $pipes); $result_message = ""; $error_messa

    PHPでsystem()を走らせたときに、エラーメッセージも取得する方法 - tohokuaikiのチラシの裏
  • PHPのcopy関数がファイルサイズ分のメモリを消費する件の対策 - hnwの日記

    補足(2010/08/24 15:00):rename関数について言えば、同一ファイルシステム上であればrenameシステムコールを利用するのでこの問題は起こりません。さらに蛇足ですが、ファイルシステムをまたがってrename関数を利用するとコピーしてから削除することになり、アトミック性を保証できないため、障害の原因にならないかどうかの検討が必要だと思います。 「AKIBA de: PHPのrename()関数はファイルシステム間で使うとメモリをバカいする」で指摘されている通り、PHPのcopy関数やファイルシステムをまたがってrename関数を使う場合に、PHPがファイルサイズと同じ大きさのメモリを消費してしまいます。環境によっては再現しないかもしれませんが、僕の手元のMacOSX 10.5+PHP5.3.3環境では再現しました。 <?php // 「dd if=/dev/urando

    PHPのcopy関数がファイルサイズ分のメモリを消費する件の対策 - hnwの日記
  • PHPでバイナリプログラミング その1

    はじめまして、5月から入社した久保田と申します。 九州からはるばる上京してエンジニアとして働いています。 普段はanatooというIDでブログ書いたりしています。 また、BlankaというPHP5.3で動くフレームワークを開発していたり、はてな記法パーサなどに利用されているパーサコンビネータなどを公開しています。 今後、勉強会などにも積極的に参加していこうと思いますのでお会いしたときはよろしくお願いします。 さて、この記事ではPHPでのバイナリの扱い方について説明します。 バイナリとは、ざっくりと言えばテキスト以外のバイト列のことです。 バイト列とは1バイトで構成される任意の長さを持つ列の事で、1バイトとは256通りの値を表現できる8ビットのデータのことです。 画像や音楽、映像などのバイナリは全て、テキストエンコーディングに沿わないバイト列によって表現されています。 これらのバイナリを扱う

    PHPでバイナリプログラミング その1
  • doudeshou.com

    This domain may be for sale!

    doudeshou.com