Posts Tagged ‘php’
Homebrewを使ってMacにPHP環境を構築する
Homebrewのインストール方法はいろいろなところで見られるので手短に
$ ruby -e "$(curl -fsS http://gist.github.com/raw/323731/install_homebrew.rb)"
$ brew install git
$ brew update
これでbrewコマンドが使えるようになったので、下のFormula(パッケージの情報みたいなもの)を使ってPHPやMySQLなどをインストールする。
- (Re)installing PHP 5.3 on Mac OS X — justin hileman dot info
- bobthecow’s gist: 85ad6dfb594d9215b42b — Gist
最近のMacだとデフォルトPHPとか入ってるけど、何かアップデートとか面倒そうなのでbrewを使ってインストールし直してる。
$ brew install https://github.com/adamv/homebrew-alt/raw/master/duplicates/php.rb --with-mysql --with-intl
という感じでインストールした。
インストール後にwhichコマンドで、どのphpバイナリを示しているかを確認すると、デフォルト?のphpが参照されてままだった。(Homebrewは/usr/local/bin/以下にインストールしていく)
$which php
/usr/bin/php
brew linkとかでどうにかなったりしそうだけど…)/usr/local/bin/php~/.bash_profile を作り、下記の内容を書き加える。
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi
export PATH="$(brew --prefix)/bin:$PATH"これで、Terminalを再起動すると、~/.bashrcが読み込まれるようになるので、$ which php
/usr/local/bin/php
- Mac でバーチャルホストを XAMPP や MAMP に頼らず設定する方法 | ウェブル
- Mac OS X 10.6 で VirtualHost – hida_shunの日記
- MacでApache, MySQL, PHP環境を作ったよ – bojovs blog
httpd-vhosts.conf を使って、バーチャルホストを設定する際は設定を変更して保存したら
apachectl -t
のコマンドで文法ミスがないかをチェックしてから再起動などして試した方が安心。
またコピペして設定する時は、クオーテーションがおかしくないかなども確認した方がいい。
参考
閲覧者が何をテキストコピーしていったか監視するスクリプト
サイトに訪れた人がどんな文章や単語をCtrl+Cや右クリックから選択してコピーしていったのかを調べるスクリプトです。
- Webページ上のテキストコピーを監視し, 貼り付けにはリンクバックを付けるTyntが$8Mを調達
- http://jp.techcrunch.com/archives/20100416tynt-gets-8-million-for-ctrl-c-action/
この記事を読んでどんなものをコピーしたのかを解析すれば面白いと思ったので、かなり適当にでっち上げてあります。
言語はJavaScript+PHPで結果をtxtファイルにするという適当な感じです。
上のファイルをダウンロードすると
copylogger
├──copylogger.js
└──dataStorage.php
となっているので、二つのファイルを同じ場所において(もしくはフォルダごとアップして)、
<script type="text/javascript" src="http://example.com/lab/copylogger.js"></script>
みたいにjsファイルを読み込んでおくと、テキストコピーに反応して、log.txtに
コピーページのタイトル<>コピーページのURL<>コピーした文章<>コピーした時間という感じで出力されていきます。
正直、見やすくもなく実用的でもないですが、コピーされてる文章からどういう行動をとってるのかが分かって面白いです。
例えば
「RefControl」でリファラを偽装しておくべきサイト | Web scratch<>http://efcl.info/2009/0923/res1352/<>blogs.yahoo.co.jp<>2010/4/19 20:21 「RefControl」でリファラを偽装しておくべきサイト | Web scratch<>http://efcl.info/2009/0923/res1352/<>fc2.com<>2010/4/19 20:22 「RefControl」でリファラを偽装しておくべきサイト | Web scratch<>http://efcl.info/2009/0923/res1352/<>plusd.itmedia.co.jp<>2010/4/19 20:22
という感じのlogがあると、このページには登録すべきサイトをまとめたテキストとインポート方法も書いてあるのに一個一個コピーしてるところを見ると、気づかなかったのかもしくはすべてを登録する必要はないからコピペしてるのかなーとか想像できます。
まあ、copyloggerって名前にしてるように閲覧者は気持ちよいものではないと思うので、お遊び程度にしてみた方がいいかもしれないです。(PHPファイルの方も作りが適当なので安全か怪しいし)
JavaScript部分の参考資料
WordPress 2.6 でタグ名が表示されない(2バイト文字)
WordPress 2.6ではタグページの表示にバグがあるみたいで、タグに日本語などの2バイト文字がある場合
タグが表示されないようです。
(<?php single_tag_title(); ?>の返り値がNULLになる)
WP2.6.1では改善されるようなので、運営に致命的な影響を与えるわけではないのでバージョンアップ待ちで大丈夫かと。
今すぐに直したい方はwp-includes/taxonomy.phpをhttp://trac.wordpress.org/export/8364/branches/2.6/wp-includes/taxonomy.phpに置き換えることで直ると思います。
WordPressはセキュリティ面からも狙われやすいことも多いので、バージョンアップはできるだけ早く行うといいです。
mingでphpファイルをコンパイルする[swf]
phpにはphp_ming.dllを使ってphpソースからswfなどのflashを作成することができます。
今回は別に積極的な開発をするわけではなくて、配布されているソースをちょっこといじるためだけにいろいろ整えるのはめんどくさいので、mingを簡単に扱うメモ。
- PHP: Downloadsから最新版zipをダウンロードする(自分の時はPHP 5.2.6 zip package)
- zlib1.dllをダウンロードする。(どこに最新版があるのかよく分からない)
- mingをダウンロードする。
ダウンロードするのはこれだけで十分だと思うので、PHPのzipを解凍してわかりやすい場所に移す。(C:\phpに置いたとする)
コメント欄で教えていただいた方法。コメント欄参照
実は必要なdllは初めからzipファイルの中に入っているようです。解凍したphpのフォルダの中にある(今回で言うとphp-5.2.6-Win32でしょうか)extというフォルダです。
ですので、php.ini中のextension_dir項目をextension_dir = “./ext”としてやることで、上記作業がいらないっぽいですねbそれと、mb_internal_encodingのエラーについてですが、それはphp.iniのextension=php_mbstring.dll(デフォルトでは;extension=php_ming.dll同様にコメントアウト)を有効にしてやることで動くみたいです。
これに少し追加します。
このままではmingのバージョンが古いみたいなので、最初に落とし置いたphp_ming.dllをextの中身に上書きしましょう。
他の3つ(libming-0.dll、libpng12.dll、libungif4.dll)とzlib1.dllはphp.exeと同じフォルダに置かないといけないみたいです。
これでflash8のバージョンまでコンパイルできるようになりました。
もう一つの方法
要は置き場所が違うだけなので、mingのみを扱う場合はこちらの方が楽な気がする。
php.exeと同じフォルダにphp_ming.dll,libming-0.dll、libpng12.dll、libungif4.dllの四つとzlib1.dllを入れる。
次はphp.ini設定
そしてphp.exeと同じディレクトリにphp.ini-recommendedというのがあるのでphp.iniとリネームして、テキストエディターで
;extension=php_ming.dll
を
extension=php_ming.dll
とセミコロンを外す。こうすればmingが実行できるようになる。
;extension=php_mbstring.dll のコメントアウトを外すことで
mb_internal_encoding()が使えるようになります。
mingの実行方法はコマンドプロンプトを開いて、ソースファイル.phpがある場所まで移動してから
C:\path\source> C:\php\php.exe flvplayer_wrapper.php
という風に実行してエラーが出なかったらファイルが出力できる。
こっからはflvplayer_wrapperのはなし。
flvplayer_wrapperをコマンドプロンプトから出力する場合はflvplayer_wrapper.phpの
$movie->output();をコメントアウトして
//$movie->output();
とする。
まとめると
- 最新mingのdllなどを入れる。
- php.iniにリネームして設定
- 使用するディレクトリを指定する。(デフォはphp.exeと同じフォルダ)
- ;extension=php_ming.dll
;extension=php_mbstring.dll
のコメントアウトを外す - php.exe flvplayer_wrapper.php みたいな感じでコマンドプロンプトでコンパイル。
環境:Vista premium
参考[nicolist.net] flvplayer_wrappe
コメントに感謝。
Firefoxでメモリ、保存、flashが重いのを解決?
- 使ってるとメモリを食いまくって (それが理由か知らないが) 処理が酷く重くなる (要・定期的に再起動)
- 画像の保存に妙に時間が掛かる(IEならサクサクなのに何故?)
- Flashの実行(イベント発生?)が重い気がする
というのを見て何となく解決策っぽいものを書いてみる。
- 使ってるとメモリを食いまくって処理が酷く重くなる
Firefoxはデフォルトでは放置しておくとどんどんメモリを食う仕組みになっているので仕様と言えば仕様です。
FirefoxやThunderbirdのメモリ消費量を劇的に減らす方法 – GIGAZINE
上のような操作をすることで、最小化するときにFirefoxのメモリを解放する設定ができます。
最大化するときにもっさりすることはあるかも。(Windows でのみ有効。)
また、Firefoxでは何十個のタブを同時に開くことは想定されていないので、20とかそれ以上開く人は素直にOperaを試してみてください。
自分はそこまでメモリは気にしないというか、アドオンたっぷりなので大量消費。
- 保存時にやたらと重い
ダウンロード履歴を記録しないようにする。ダウンロード履歴はチェック時に大量のメモリを消費するので、使わない。履歴ファイを消去したら(ダウンロード→履歴の削除)、今後は記録されないように ツール → オプション → プライバシー → ダウンロードしたファイルを記録するのチェックを外しておく。
またダウンロードの時にウイルス対策ソフトがチェックしている可能性もあるので、一概にはFirefoxが原因でないかも。
また、画像の保存だけに限定するならアドオンでいいものがありそうなので、探してみるといいかも。
- Flashの実行(イベント発生?)が重い気がする
これは何ともいえませんが、Flashなどのプラグインは結構バージョンによって動作が
悪くなったりよかったりします。
できるだけ最新のバージョンに保つのがいいかもしれませんが、環境によって左右される気がするので、自分に適切なのを
見つけられると良い。
cl.pocari.org – Firefox の Flash Player をアップデートする方法
Flash関係の問題はよく見かけるので解決が少しめんどくさそうです。
Mozilla Japan ナレッジベース – Flash Player の更新に関する注意喚起
とりあえず思い当たる解決策を書いてみました。
Firefoxというかソフト全般に当てはまる事ですが、プロファイルが壊れている場合は意味がないので、
上の方法や検索してきた方法で全くだめな場合はバックアップを取ってから、
Firefox Hacks:Firefox拡張:FEBE――Firefox環境のバックアップとリストア – ITmedia エンタープライズ
プロファイルを新規作成してためしてみるといいかもしれません。
自分の経験ではprefs.jsが壊れる事が多い気がするのでその辺のチェックをするといいかもしれないです。
Mass InstallerでまとめてFirefoxの拡張機能をインストール
Mass InstallerはFirefoxの拡張機能をまとめてインストールするための拡張機能です。
新規環境に移行する時や、初めてFirefoxをやるときに最初に入れてみるとかなり作業がはかどります。
これはテキストファイルに記載されているURLからどんどん拡張をインストールしていきます、
まだ試した事がないですがMass Installerをインストールして再起動(Firefoxを)すると、
ダイアログがでてテキストファイルを選択するようです。
Mass Installer 0.3.1 – Add-ons Mirror
本体がよくわからなかったのでミラーしているサイトを拾ってきた。
一度ファイルとして保存してから、FirefoxへD&Dすればインストールできます。
自分の拡張機能一覧のテキストファイル。
こういう拡張機能の一覧を作成するにはInfoLister
という拡張を使えば簡単にできます。
