PHPでCannot redeclare ~ (previously declared in ~)in ~
PHPで見慣れないエラーが出たのでメモ
Fatal error: Cannot redeclare myFunc() (previously declared in ~) in ~
「その関数は既に宣言されてるから再宣言はできないよ!」
ってことらしい。
コードを見なおしてみるとループの中で関数を宣言していた。
関数の宣言をループの外でしてあげれば済む話なんだけどそうはしたくない・・・
そんな時はfunction_exists()で関数が既に宣言されているかどうか調べる。
bool function_exists(string $function_name)
こんな感じでループの中で関数を宣言しても大丈夫
$i = 0; while($i < 10){ if(!function_exists('myFunc')){ function myFunc(){} } $i++; }
ubuntuでパスとエイリアスの設定
パスの設定方法
現在の設定を確認
$ echo $PATH
~/.profileを開く
$ vim ~/.profile
ファイルの一番下にパスを指定(今回は~/netbeans-7.4/bin/netbeansが対象)
PATH="$PATH:~/netbeans-7.4/bin"
設定を反映させる
$ source ~/.profile
設定が正しく反映されているか確認
$ echo $PATH
こんな感じでパスの設定はすんなりできたけどパス先のプログラムをsudoで実行しようとするとなぜかできない・・・
どうしたものかと悩んでいたらエイリアスというものがあるらしい。
エイリアスとは簡単に言ってしまえばコマンドを自由に変更できる超便利機能。
エイリアスの設定方法
現在の設定を確認
$ alias
~/.bashrcを開く
$ vim ~/.bashrc
ファイルの一番下に設定を書く
alias snetb='sudo netbeans-7.4/bin/netbeans'
設定を反映させる
source ~/.bashrc
設定が正しく反映されているか確認
$ alias
これで次回から
$ snetb
とコマンドを打てばnetbeans7.4が立ち上がる
ありがとうエイリアス・・・・