mytips.exblog.jp ブログトップ

タグ:php ( 13 ) タグの人気記事
php の zlib
mac portでphp5をUpdateしたら、openxで必要なzlibが使えない状態になっていた。

php5のvariantsで追加指定するのではなく、個別のportパッケージでインストールする。

port search "*zlib*"
検索してみた

sudo port install php5-zlib
インストール

sudo apachectl restart
リスタート
[PR]
by sato025 | 2009-08-26 10:08
preg_replaceを使ってリンクタグに置換する。urlencodeも同時に行う。
構文が大変ややこしいが、preg_replaceを使って、Wikiの様に文章中に出現する任意のキーワードに対して、リンクを自動で付ける

------------------------

$string = '表の中の豊臣秀吉と徳川家康';
$keyword_and_href[] = array('表','/help/table.html'); // 「表」に指定した参照先URLのリンクを付ける
$keyword_and_href[] = array('豊臣秀吉'); // 「豊臣秀吉」にURLエンコードしたリンクを付ける

foreach ($keyword_and_href as $v) {
if($v[1]){
$pattern = "/({$v[0]})/e";
$replacement = "'<a href=\"{$v[1]}\">$1</a>'";
$string = preg_replace($pattern, $replacement, $string);
}else{
$pattern = '/(' . $v[0] . ')/e';
$replacement = "'<a href=\"/detail/?keyword=' . urlencode(\"$1\") . '\">$1</a>'";
$string = preg_replace($pattern, $replacement, $string);
}
}
echo($string);

[PR]
by sato025 | 2008-12-15 12:31
FreeBSD7にphp + mysqlをportでセットアップ


バリアント(オプション)の設定などに、クセがあるのでconfigファイルへの書き込みなどを事前に行ってからportinstallする必要があります。
さらにphpのインストールは、驚くことにconfigを編集しないと、apacheで利用できない設定がデフォルトになっています。

1)phpをapacheで使うことを設定する
phpのMakefileを編集(orgをコピーしておくこと)
vi /usr/ports/lang/php5/Makefile

OPTIONS= の中の
APACHE "Build Apache module" off

APACHE "Build Apache module" on
に変更

備考-----------------------
portsのソースのある場所を検索する方法
cd /usr/ports
make search name=apache
など
----------------------

■apache22のインストール
su
cd /usr/ports
portinstall www/apache22

起動を設定
echo 'apache22_enable="YES" >> /etc/rc.conf
echo 'apache22_http_accept_enable="YES"' >> /etc/rc.conf

httpd.confを編集
バックアップしておく
cp /usr/local/etc/apache22/httpd.conf /usr/local/etc/apache22/httpd.conf.org
vi /usr/local/etc/apache22/httpd.conf

それぞれ別の行なので、ディレクティブを確認して適切な場所に下の2行を書き込む
AddType application/x-httpd-php .php
DirectoryIndex index.php index.html index.htm


■php5のインストール
portinstall lang/php5

●php.iniを設定(コメントを外すなど)
バックアップ
cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini

変更箇所
display_errors = On
include_path = ".:/usr/local/share/pear:/usr/local/www/apache22/data/libs" (←自分の設定で)
allow_url_include = On
(↑モバイル版 Google Adsenseを使う場合、ネット越しのphpを読み込むので)

mbstring.language = Japanese
(↑クエリーパラメータでエンコードした日本語がある場合の内部処理の挙動が変わります。)
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = 12307;




■phpエクステンションをインストール
これでmysqlと連携できる

cd /usr/ports
portinstall lang/php5-extensions

終わったら

vi /var/db/ports/php5-extensions/options
として
WITH_MYSQL=true
を確認

■mysql初期化
cd /usr/local/bin
./mysql_install_db
cd /var/db
chown -R mysql:mysql mysql
起動設定
echo 'mysql_enable="YES"' >> /etc/rc.conf

configをつくる
cp /usr/local/share/mysql/my-medium.cnf /usr/local/etc/my.cnf
chmod 644 /usr/local/etc/my.cnf
[PR]
by sato025 | 2008-10-29 12:31 | FreeBSD
BSD 設定調整メモ
pear 実行時にPHP extension のエラーが出てしまう。(昔につかったnamazu)
pear は、古いphp4を使ってしまうからのようだ。

/usr/local/bin/php4

mv /usr/local/bin/php4 /usr/local/bin/php4_mv
としてどかしておく。


/usr/local/php5/lib/php.ini
ついでにこっちも
/usr/local/etc/php.ini
下の2行をコメントアウト
; extension_dir = "/usr/local/lib/php/20020429"
; extension = namazu.so
[PR]
by sato025 | 2007-09-13 15:22
FREEBSD PHP - mbstring マルチバイトを利用できように変更
configureから

./configure --with-pgsql=/usr/local/pgsql --with-apxs --prefix=/usr/local/php5 --with-dom=/usr/local --with-xml --with-mysql --enable-mbstring --with-libmbfl --enable-sqlite-utf8


make

su root

make install
[PR]
by sato025 | 2006-11-28 18:23
OSX PHP - mbstring マルチバイトを利用できように変更
--enable-mbstring
configurationにこれを加える。
日本語を扱うなら、ほぼ必須の設定


phpinfo();
?>
のページで表示される

上から3つめの欄
「Configure Command」
で現在のコンフィグを確認できる。

mbstringを加えた現在の設定は以下。



./configure --with-pgsql=/usr/local/pgsql --with-apxs --prefix=/usr/local/php5 --with-dom=/usr/local --with-xml --with-mysql=/usr/local/mysql --with-zlib --enable-sqlite-utf8 --enable-mbstring --with-libmbfl
[PR]
by sato025 | 2006-11-23 01:23
osx pear モジュールの場所
/usr/local/php5/lib/php
[PR]
by sato025 | 2006-08-06 01:11
OSX php5(ver 5.1.4)インストールまとめ
ソースからインストールしたが、configureは、とりあえず

./configure
--with-pgsql=/usr/local/pgsql
--with-apxs
--prefix=/usr/local/php5
--with-dom=/usr/local
--with-xml
--with-mysql=/usr/local/mysql
--with-zlib
--enable-sqlite-utf8

重要なのは、prefix
/usr/local
ではphp.iniが/usr/local/lib/以下になってしまい、どういう訳か、/usr/local/lib/php.iniを配置しても読み込まれなった。
元々インストールしてあった、php4関連ファイルを全部deleteしたせいか??
(あれこれ、インストールを度重ね、あっちこっちにphp, mysql,pear,pgsqlが散乱したため、今回PHP関連ファイルを軒並み削除した結果。)

どうも、prefix=/usr/loca/php5の指定を実行しているサイトがおおいようなので、すべて削除して再インストールしたらうまくいきました。
binのパスも ~/.bash_profile に php5/binを追加

もしかするとprefixを指定しない(デフォルト)状態だとphp5へインストールされるのかもしれない。今度ためしてみよう
[PR]
by sato025 | 2006-08-05 02:21
php "extension not found"
PHP + pear で
extension not found のエラー
php -m
で利用可能な状態のモジュールが確認できます
あるいはPHPソースコードで

print_r(get_loaded_extensions());
[PR]
by sato025 | 2006-08-02 09:56
OSX php.ini
php.iniの場所。これはOSX 10.4以前で、10.5からは変わっている。
/private/etc/php.ini

こういうファイルの場所を覚えるのは困難ですから、メモを取るか、以下のコマンド

locate php.ini
HDD内のファイル名をインデックスし、高速の検索を実行できる。
部分一致のファイル名も検索できる。

作成されたばかりのファイルは、インデックスされてないので、
find ./ -name "php.ini"
 (カレントディレクトリ以下を検索)
[PR]
by sato025 | 2006-07-09 01:20
|
検索
タグ
カテゴリ
以前の記事
最新のコメント
最新のトラックバック
Tool
from adgj.net wiki ..
Googleウェブマスタ..
from i yahoo i.com:..
[Mac] NAV fo..
from あるネットワーク管理者(よっ..
ライフログ
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧


var gaJsHost = (("https:" == doc ument.loc ation.protocol) ? "https://ssl." : "http://www.");doc ument.write(unesc ape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));var pageTracker = _gat._getTracker("UA-103429-5");pageTracker._trackPageview();