- 使えるネットVPSプラチナプランでのPearインストール
- 2011.10.30
VPSでPEARをインストールするときに若干はまったので次回の為に備忘録にまとめます。
・SSH接続し、root権限になってライブラリの共有ディレクトリに移動
cd /usr/share・最新の PEARパッケージを取得し組み込む
# php -q go-pearすると以下のメッセージ
# php < <(curl -s http://pear.php.net/go-pear) Sorry! Your PHP version is too new (5.1.6) for this go-pear. Instead use http://pear.php.net/go-pear.phar for a more stable and current version of go-pear, more suited to your PHP version.「あなたの使ってる PHP のバージョンは新しすぎるから代わりに http://pear.php.net/go-pear.phar を使用してください。」というような事が書かれている。
なので、方法を変えてみる。# wget http://pear.php.net/go-pear.phar
# php go-pear.phar
今度はうまくいったようなのでそのままEnter キーを押す。
インストールされたか確認。# /usr/share/pear/bin/pear -V
バージョン情報が表示されればインストールOK。
使えるネットのプラチナプランでは以下のように表示されたのでとりあえずはインストールはされているようだ。# pear version
PEAR Version: 1.9.4
PHP Version: 5.1.6
Zend Engine Version: 2.1.0
Running on: Linux vps-1012648-6540.cp.tsukaeru.ne.jp 2.6.18-028stab070.4 #1 SMP Tue Aug 17 18:32:47 MSD 2010 x86_64ここで、pear listを入力してみると
-bash: pear: command not found通常ならinstall済みのpearパッケージ一覧が表示されるのですが、どうもPATHが通っていなかったらしくてコマンドが見つからないと言われちゃいました。
なのでPATHを通すことにします。
まずはルートに移動して、「.bash_profile」があるかどうか調べます。
.profileがあればそっちでしょうけど# cd ~
# ls -al | find .bash*
「.bash_profile」が見つかれば良いですが、ファイルが無ければ、viで開けば勝手に作られます。# vi .bash_profile
PATH=/usr/share/PEAR/bin:$PATH
export PATH内容を保存したら、設定を反映させます。
sourceコマンドで指定したファイルを読み込んで実行。
# source .bash_profile
この後以下のコマンドで無事一覧が表示されました。
#pear list
次にvhost.confファイルを設定する
vhost.confは以下のディレクトリの中です。
/var/www/vhosts/ドメイン名/conf
なければviコマンドで開いて新たに作成する。
以下はvhost.confの中身となります。
php_admin_value safe_mode_include_dir “/usr/share/pear”
php_admin_value open_basedir “/var/www/vhosts/ドメイン名/httpdocs:/tmp:/usr/share/pear”
vhost.conf作成後、SSHにてサーバに接続後、以下のコマンドを実行。
/usr/local/psa/admin/sbin/websrvmng –reconfigure-vhost –vhost-name=ドメイン名
上記の「ドメイン名」の部分は、いずれもvhost.confを作成したドメイン名を指定。
サーバによっては /etc/php.ini の include_path に /usr/share/pear が設定されていないことがありますので、こちらも適宜設定を行う。
- SQL関数
- 2011.09.29
MySQLでカラムAとカラムBを連結して文字列検索したい場合、文字列を繋ぐ関数CONCATを使うと簡単にできる。
SELECT * FROM tablename WHERE CONCAT(colA, colB) like ‘%keyword%’
PostgreSQLでは文字列連結には『||』を使う。使い方はこんな感じで文字列1と文字列2が連結される。↓
文字列1 || 文字列2
ちなみに、文字列を置換する関数を使ってカラムの特定の文字を削除する場合はこんな使い方↓
(ハイフン付きでDBに格納されているレコードをハイフンの有無にかかわらず検索したい場合等・・・)replace (code, ‘-‘, ”) = ‘$code’
SQLで文字列を置換するにはREPLACE関数かTRANSLATE関数を使用するが使い方が違うので要注意!
- httpdocsの上の階層のPHPファイルを読み込む
- 2011.09.22
使えるネットのVPSプラチナプランを使用していて、セキュリティの為httpdocsと同じ階層のprivateフォルダに置いたPHPファイルを読み込む際、エラーが発生して読み込めない 😯
どうやら、open_basedirになんらかの設定がされている模様。
phpinfo関数でopen_basedirの設定を確認すると、Master Valueはno valueだがLocal Valueにはパスが設定されている 💡/var/www/vhosts/***/conf/httpd.includeにあるphp_admin_value open_basedir “/var/www/vhosts/***/httpdocs:/tmp”を確認してそれに今回追加するパスを追記してvhost.confに記述する。
最初はvhost.confがないですが、vi vhost.confで以下の内容を記述。<Directory /var/www/vhosts/ドメイン名/httpdocs>
php_admin_value open_basedir “/var/www/vhosts/ドメイン名/httpdocs/:/tmp/:/var/www/vhosts/ドメイン名/private/”
</Directory>その後、以下のコマンドを実行し、変更内容を有効にする
/usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=ドメイン名
最後に念の為以下のコマンドを入力
service httpd restart
- 美容室ACCSS様のホームページを公開しました
- 2011.09.10
- 新宿区四谷三丁目にある美容室ACCESS様のホームページをリニューアルデザインいたしました。
- VPSでBasic認証が使えない!?
- 2011.09.07
使えるネットのVPSプラチナプランを契約したがデフォルト状態でBasic認証を行うとInternal Server Errorが発生してしまう 😯
どうやら必要なモジュールが組み込まれていないようだ。
早速以下のファイルをみるとLoadModuleの部分が#で無効になっているモジュールが多数あったので、それらを全てロードするようにしたら無事Basic認証が使えるようになりました。 😉/etc/httpd/conf/httpd.conf
httpd.confを編集した後はapacheの再起動をお忘れなく!
apachectl restart