こんなサーバー使えねー
某サーバーのアカウントもらえたので準備してみようと思った.
phpをインストールしてもphp.iniをインストールしない
$ ls -la /usr/lib/php.ini /etc/php.ini -rw-r--r-- 1 root root 41979 Jun 16 20:30 /etc/php.ini -rw-r--r-- 1 root root 41979 Jun 16 20:21 /usr/lib/php.ini
php.iniでmbstringのむちゃくちゃな指定をしている
mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = Off mbstring.detect_order = auto mbstring.substitute_character = none; mbstring.func_overload = 0 mbstring.strict_encoding = Off
共有サーバーでこれはないだろ..htaccessも許可していないし,Shift_JISで内部EUC-JPなi18nにできないアプリ作れってか?
本当にいろんな人がやってるphp.iniで設定しろ布教の悪影響だこれは.
拡張モジュールの組み込み方がむちゃくちゃ
-
- enable-mbstringしながら(=sharedついてないんだからstatic link)
こんな状態.
$ grep -E '^extension' /etc/php.ini extension_dir = "./" extension=php_mbstring.so
どうやらphp.iniのコメントを参考にしたっぽい.
$ fgrep 'php_' /etc/php.ini ; Store the last error/warning message in $php_errormsg (boolean). extension=php_mbstring.so ;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_dba.dll (snip)
当然
$ php -v PHP Warning: PHP Startup: Unable to load dynamic library './php_mbstring.so' - ./php_mbstring.so: cannot open shared object file: No such file or directory in Unknown on line 0 PHP 5.1.4 (cli) (built: Jun 16 2006 22:17:25) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
ようするに
- mbstring拡張モジュールはstatic link
- しかしextensionで指定しようとしている
- しかし指定内容が全然ちぐはぐ
ということだ.
他にも比較的古いバージョンのディストリビューションでアップデートを一切行っていない.
こえー.
ってことでこのアカウントさようなら.