タグ

PHPに関するsuginoyのブックマーク (174)

  • サイト・ページ移転時にPHPで正しくリダイレクトする | helog

    スマートフォンやhtml5+CSS3など新技術に四苦八苦。PHPやAjaxも難しいですね。そんなWebに悩む人のネタ帳です。 サイトの移動、または、ページの移動が発生した場合に、PHPのheader関数を使って旧URLから新URLへリダイレクトさせるのはよく使う方法ですが、改めて使い方を確認します。 例えば新サイト「http://helog.jp/」へリダイレクトさせる場合、私はこれまで以下のように処理を書いていました。 header("Location: http://helog.jp/"); 実際アクセスするとリダイレクトされるので、一見、問題ないように思います。 しかし、上記のままでは302リダイレクトとして処理されてしまいます。302は一時的に移動した場合に用いられ、Googleなど検索エンジンは旧サイトのURLを残してしまいます。 301リダイレクトとして恒久的に移動、つまり、

    suginoy
    suginoy 2012/03/05
    「上記のままでは302リダイレクトとして処理されてしまい」「HTMLのMETA情報にリダイレクトを実行する1行を埋め込む方法もありますが、PHPで処理するにあたりあまりスマートではない上に、場合によってはスパム扱い」
  • Zend Routes and HTTP Verb/Method

    suginoy
    suginoy 2012/03/05
  • Zend Framework+MySQLの文字化け対策 - カイジのプログラマー日記

    PHP5 + Zend Framework 1.9.2 + MySQL5 で、DBからデータを取得したときに文字化けするのを防ぐ方法について。 以下のように「set names utf8」を先に発行しておけば文字化けは防げるが、汎用的な Zend_Db を使っている以上、やはり MySQL 特有のコマンドは使いたくないしSQLインジェクションを引き起こす可能性があります。(参考 SET NAMESは禁止:http://blog.ohgaki.net/set_namesa_mcb_asc) $db = Zend_Db::factory('Pdo_Mysql', array( 'host' => 'xxx.xxx.xxx.xxx', 'username' => 'xxx', 'password' => 'xxx', 'dbname' => 'xxx' )); $db->query("set n

    Zend Framework+MySQLの文字化け対策 - カイジのプログラマー日記
    suginoy
    suginoy 2012/03/05
    「factory() のパラメータに charset を指定できる」
  • pecl_httpをインストールする – ぱんぴーまっしぐら

    http_getがなかなかエロイpeclのpecl_httpをインストールする。 fedora10のrpmパッケージがyumで見つからなかったので、peclコマンドにてインストール。 peclコマンドを含めいろいろ足りなかったのでyumる。 $sudo yum install zlib-devel $sudo yum install libcurl-devel $sudo yum install php-devel peclコマンドでインストール sudo pecl install pecl_http /etc/php.iniに追記する。 extension=http.so

    suginoy
    suginoy 2012/03/02
  • PHPで「It is not safe to rely on the system's timezone settings.」 - とあるSEの戯れ言

    運用しているサイトのログを確認したところ、大量にWarningのログが・・・ 確認したところ、以下ログでした。 PHP Warning: date() It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/n

    PHPで「It is not safe to rely on the system's timezone settings.」 - とあるSEの戯れ言
    suginoy
    suginoy 2012/03/02
  • PHPのinterfaceなめんな - なんたらノート第三期ベータ

    はいタイトルは釣りです。 OOPのインターフェースはただの実装漏れチェック機能じゃないし、ましてや継承は差分プログラミングツールじゃないぞ。というのはわりと一般的な話だけど、Ruby(respond_to?でホントにいいの)とJava(インターフェースが自然すぎてユーザが意識しないのよ)が、PHPに対してOOPどうこうで偉そうに言うのはどうかなと思ったもので。まあそれと同時に、PHPの人自身がその意義を発見してるのかなという疑問もあったりしたんですけどね。 Rubyというのは「オブジェクト指向ってのはつまりメソッドに応答できるアヒルはみんなアヒルとみなせるよね」というレベルのダックタイピングで割り切った言語だと、個人的に認識しています。継承とミックスインにはis_aが応答するけど質はrespond_to?のほうで、インターフェースを宣言してなくてもメッセージ送れたらいいあの感じ。 そんな

    PHPのinterfaceなめんな - なんたらノート第三期ベータ
    suginoy
    suginoy 2012/03/01
    「変数に型がない言語におけるインターフェースというのは...マーカーの意味合いが強い」「差分プログラミングするかどうかと、APIインターフェースの設計をどうするかという問題とは、直交しているべき」
  • PHP-FPM Plugin Suite For Munin | TJ Stein

    Since switching from a spawn-fcgi implementation several months ago, I’ve been really pleased with PHP-FPM. Given some of the new statistical features included in newer versions (5.3.2+), I put together a plugin suite for Munin. I am not proficient in Perl so I encourage feedback and suggestions to make these better. This suite contains plugins to measure average process size, total memory usage,

    suginoy
    suginoy 2012/02/27
  • try { Getting People To Come To a Talk On Exceptions }

    Answering the 5 most important questions you have about Exceptions in PHP

    try { Getting People To Come To a Talk On Exceptions }
    suginoy
    suginoy 2012/02/27
    Zendなどを例にしたPHPでの例外について。いろんな定番書籍から引用も。PHPの学習が進んでからもう一回読む。
  • Webサーバ勉強会4 nginx で php-fpm を動かしてみた

    2. do_aki (どぅーあき) • |所属| > 株式会社もしも (ドロップシッピング・アフィリエイトASP) • |仕事| > インフラ構築・運用 兼 Webアプリケーション開発・運用 • |出現| > 渋谷・山手線沿線 • |特性| > PHPer http://do-aki.net/ 3. 経緯とか • Web サーバ勉強会のお題が埋まってた • せっかくだし nginx 使って何かしたい • チューニンガソン2(10/1)で、 Mediawiki が php-fpm (5.4) でうまく動かないとか言って た

    Webサーバ勉強会4 nginx で php-fpm を動かしてみた
  • 規模別PHPUnitでのテストの書き方いろいろ - Architect Note

    最近になってPHPUnitをちゃんと使ってユニットテストを書くようになってきたのですが、まだまだTipsが足りないと感じます。個人的に実践している書き方をいくつか並べてみます。 追記:最初、シェバングと書いていましたが、オプションを渡せる数が決まっていたりOSによっては動かなかったりとあまり便利でないことがわかりました。。phpunit.xmlを書いた方がいいかも。 ちょっとしたテスト → シェルスクリプト化する PHPUnitは高機能なのですが、いかんせん最初の障壁が高いと思います。とにかく気軽に書きたいなら、シェルスクリプトを作って単独ファイルで実行できるようにするといいです。 #!/bin/sh phpunit --colors *Test.php # ↑オプションを書き並べておく <?php class SampleTest extends PHPUnit_Framework_Te

    規模別PHPUnitでのテストの書き方いろいろ - Architect Note
  • phpDocumentor - PHPDocに代わるAPIドキュメント自動生成ツール - Do You PHP?

    ずいぶん前にPHPDocを取り上げてあれこれ触ってみましたが、いつの間にかPEARマニュアルからページがなくなっていました。現在ではPHPDocの代わりに、高機能なphpDocumentorがPEARに追加されています。 phpDocumentor家 PEARマニュアルのphpDocumentorのページ 基的にはPHPDocと同じ「APIドキュメントを自動生成する」という機能だけなのですが出力形式が多様で、HTMLだけでもデザインテンプレートが何種類も用意されており、pear.php.netにあるAPIドキュメントでも採用されています。HTML以外にもPDF形式やWindowsのヘルプファイル用hhpファイル(別途コンパイルが必要)、はたまたpeardoc用docbookも出力できてしまいます。 今回はインストールからざっとした使い方までやってみました。 まずはインストールです。お決

    suginoy
    suginoy 2012/02/13
  • phpDocumentor で文字化け - JE no hitori chat

    phpDocumentor で生成したドキュメントで日語が文字化けしちゃう。 と言う人のために。 ちなみに x phpDocumenter o phpDocumentor でした。 普通に phpDocumentor を実行すると。 $ phpdoc -d ./src/ -t ./doc/ 画面のレイアウトにデフォルトのテンプレートが使用されます。 デフォルトのテンプレートは HTML の charset が ISO-8859-1 で固定されちゃってるそうです。 文字化けしちゃいます。 ので。 charset が指定されていないテンプレートを使うように指定すれば解決です。 $ phpdoc -d ./src/ -t ./doc/ -o HTML:Smarty:PHP おまけに画面のレイアウトが PHP マニュアル風になります。それっぽいです。 PHP: PHP マニュアル - Manua

    suginoy
    suginoy 2012/02/13
    そんなテンプレート、修正してやる!(大量にあるのでワンライナーが必要)
  • phpDocumentorでドキュメントの自動生成

    javaにはjavadocと言う、ソースファイルからjavaのリファレンスマニュアルを生成してくれるコマンドがありますが、phpにも同様のものとしてphpDocumentorがあります。これはPEARパッケージの1つとして提供されていて、PEARを導入していれば簡単にインストールが可能です。 phpDocumentorの特徴としては、ドキュメントのoutput形式として、下記のようなフォーマットがサポートされています。 html(複数のテンプレートから選択が可能) PDF Windows Help インストールはpearコマンドで簡単にインストール出来ますが、memory_limitがデフォルト値(8M)のままだとメモリー不足でインストール出来ませんでした、php.iniを修正してmemory_limitを16Mに増やせば問題なくインストール出来きました。 ;;;;;;;;;;;;;;;;

    suginoy
    suginoy 2012/02/13
    「header.tplファイルのISO-8859-1と書かれている所をEUC-JPまたはShift_JISに変更すれば直る」
  • PHP+Kestrel+Supervisorでお手軽タスクキューイング

    こんにちは、久保田です。 ウェブサービスでは、ユーザのアクションに従ってバッチ処理を行わなければならないケースがままあります。この記事では、バッチ処理の手法の一つであるタスクキューイングをPHPとKestrelとSupervisorを利用して行うやり方の導入を紹介します。 なぜなにタスクキューイング ウェブサービスでは、ユーザのアクションに従って非同期にバッチ処理を行うようなケースがよくあります。 例えばflickrのような写真を共有するウェブサービスで言えば、ユーザが写真をアップロードしたあとに非同期でその画像の複数のサムネイル生成や加工をしなければならないケースがあります。 よく見られるのは、DBにバッチ処理のためのタスクデータを入れておいて、後でcronで定期的に起動するワーカープロセスからバッチ処理を行う方法です。このやり方には、ワーカーを複数プロセスで扱いづらい、処理がリアルタイ

    PHP+Kestrel+Supervisorでお手軽タスクキューイング
  • KVS redis php クライアントモジュールのインストール | QK

    redisサーバは、こちらで説明した通りの手順で構築が完了しました、とりあえず動作の確認はとれたため、今度は、phpからredisサーバに接続できるよう、phpphp-redis(phpredis)モジュールをインストールする手順について説明しようと思います。 とりあえず、phpは新しいバージョンを入れたかったため、remiリポジトリからダウンロードから説明したいと思います。 cd /usr/local/src wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm wget http://download.fedora.redhat.com/pub/epel/

    suginoy
    suginoy 2012/02/10
  • KVS redis phpから利用してみる(phpredis) | QK

    「KVS redis php クライアントモジュールのインストール」にてphpから利用できるようになりました。簡単なソースですが、phpからこれを使うソースについて説明したいと思います。下記のサンプルは、単純に、値をセットしたものを呼び出すサンプルです。redisの利用用途がまだぼやっとして浮かんでいないので、あまり参考にならないかもしれません。 【検証環境について】 すんません・・こんだけです。何を説明したかったかというと、単に出回っているサンプルが、ローカルホストを前提に書かれているものが多かったため、あえてそうしました。もちろんローカルに、redisがあろうが、リモートにredisがあろうが、なんも変わらないのですが。 あ、一点だけ違いがありました。redisをデフォルトでインストールした場合、ローカルからのみしか接続を許可していないので、この部分のみ変更が必要です。当方は、yumで

    suginoy
    suginoy 2012/02/10
  • GitHub - phpredis/phpredis: A PHP extension for Redis

    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

    GitHub - phpredis/phpredis: A PHP extension for Redis
    suginoy
    suginoy 2012/02/10
  • Ant vs Phing

    Ant is a Java-based build tool that is well-suited for automation and scripting tasks. Phing is a PHP-based build tool that is similar to Ant. Both tools use XML configuration files to define projects, targets, tasks, properties and types. Common tasks include executing commands, copying/deploying files, testing, and more. Properties can be used to define variables. Filesets are used to select fil

    Ant vs Phing
  • What's the Deal with Phing?

  • Tidningen Nyheter för alla -

    Skip to main content Registration has been disabled.

    suginoy
    suginoy 2012/02/08
    clean の設定とかここからパクろう