カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

Public宣言された変数に有効期間がある落とし穴

VBAで標準モジュールにPublic変数を宣言、またはPrivate変数を宣言してPublicプロシージャで値を書き換える処理を構築した場合、予期せず、変数に格納したはずの値がクリアされることがあります。

実際にACCESSで、汎用的に使えるようにと私もそのような方法で書いたのですが、上記のような事象が発生したので今回調べてみました。

答えはマイクロソフトのサポートページにありました。
どうやら標準モジュールでPublic宣言した変数であっても、意図しないタイミングで変数の値が破棄されることがあるようで、そのようなプログラミング手法は推奨されていないようです。
続きを読む…»

21,436 views

PHPに拡張モジュールを追加 phpize

phpizeを使えば、PHPを再コンパイルすることなく拡張モジュールをビルドすることができます。

例としてPHP5.3.29の環境にzlibモジュールを追加してみます。

ソースの場所に移動

cd /usr/local/src/php-5.3.29/ext/zlib

phpizeを実行

phpize

以下のようなエラー発生することがあります。

Cannot find config.m4
Make sure that you run '/usr/local/bin/phpize' in the top level source directory of the module

続きを読む…»

10,658 views

MySQL 4から5へバージョンアップ

今回はまたまたとある環境でMySQLのバージョンアップを行いました。
4.1.20から5.0.95へのバージョンアップです。

ソースをダウンロードして解凍し、該当ディレクトリへ移動します。

コンパイルとインストール

configureを実行

./configure --with-charset=utf8 --with-extra-charset=all --with-mysqld-user=mysql
make
make install

インストールされるファイルやディレクトリ
/usr/local/lib/mysql … データディレクトリ
/usr/local/bin … mysql等の実行ファイル、その他関連コマンド
/usr/local/share/mysql … 言語ファイルや起動用のシェルスクリプト等
/usr/local/include/mysql … ヘッダーファイル


MySQLを初期化

/usr/local/bin/mysql_install_db --user=mysql \
--basedir=/usr/local \
--datadir=/usr/local/lib/mysql

続きを読む…»

1,500 views

PHP 5.2.xから5.3.xへバージョンアップ

とある環境でPHPをバージョンアップしました。
5.2.8から5.3.6へバージョンアップ。

仕様変更により推奨されない関数(Deplecated)でエラー。
今回はereg関連の関数でエラーでした。
代わりにpreg_matchを使用するようになっています。

他にも推奨されなくなった関数がありますので、詳しくは下記URLを参照してください。
PHP 5.3.x で推奨されない機能

その他、PEAR::DBでエラー。
元々のバージョンが以下の通り。
PEAR 1.50.2.18
DB 1.86
続きを読む…»

1,355 views

PHP7 リリース

2015年12月3日、11年ぶりのメジャーアップデートとなる「PHP7」が公開されました。
現行のPHP5は3年後にサポート終了となります。

※PHP6は破棄されスキップされています。

794 views