Cakephp 2 に問題があります。次のような AES Cookie をセットアップしました。
AppController.php
public function beforeFilter() {
$this->Cookie->name = 'mycookie';
$this->Cookie->key = '12345678901234567890123456789012345678901234567890123456789012345678901234567890';
$this->Cookie->type('aes');
}
ドキュメント: http://book.cakephp.org/2.0/fr/core-libraries/components/cookie.html
このコードは、Synology NAS にインストールされている apache でのみクラッシュを引き起こします。しかし、彼は easyphp (ローカル) でうまく動作します。
Warning (4096): Argument 1 passed to Hash::insert() must be an array, string given, called in /volume1/web/TEST_DEV/lib/Cake/Controller/Component/CookieComponent.php on line 249 and defined [CORE/Cake/Utility/Hash.php, line 257]
Notice (8): Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' [CORE/Cake/Utility/Security.php, line 319]
Warning (4096): Argument 1 passed to Hash::insert() must be an array, string given, called in /volume1/web/TEST_DEV/lib/Cake/Controller/Component/CookieComponent.php on line 249 and defined [CORE/Cake/Utility/Hash.php, line 257]
Notice (8): Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' [CORE/Cake/Utility/Security.php, line 319]
Notice (8): Use of undefined constant MCRYPT_MODE_CBC - assumed 'MCRYPT_MODE_CBC' [CORE/Cake/Utility/Security.php, line 320]
Fatal error: Call to undefined function mcrypt_get_iv_size() in /volume1/web/TEST_DEV/lib/Cake/Utility/Security.php on line 322
誰かが私を助けることができますか?私の開発の多くは Synology NAS で行われているため...
編集: phpinfo() は、列構成コマンドのこの出力を提供します
'./configure.syno' '--host=armle-unknown-linux' '--target=armle-unknown-linux' '--build=i686-pc-linux' '--with-ldap=shared,/usr/syno' '--with-ldap-sasl=/usr/syno' '--prefix=/usr/syno/php' '--with-apxs2=/usr/syno/apache/bin/apxs' '--disable-cgi' '--with-config-file-path=/usr/syno/etc' '--with-config-file-scan-dir=/usr/syno/etc/php' '--with-libxml-dir=/usr/syno' '--with-bz2=/usr/syno' '--with-zlib=shared,/usr/syno' '--enable-bcmath=shared' '--enable-syno_compiler=shared' '--enable-calendar=shared' '--with-curl=shared,/usr/syno' '--enable-dba=shared' '--enable-exif=shared' '--enable-ftp=shared' '--with-gd=shared' '--with-jpeg-dir=/usr/syno' '--with-png-dir=/usr/syno' '--with-freetype-dir=/usr/syno' '--enable-gd-native-ttf' '--with-gettext=shared' '--with-iconv=shared,/usr/syno/libiconv' '--with-imap=shared,/source/imap-2007e' '--with-imap-ssl=shared,/usr/syno' '--enable-mbstring=shared' '--with-mcrypt=shared,/usr/syno' '--with-mysql=shared,/usr/syno/mysql' '--with-mysqli=shared,/usr/syno/mysql/bin/mysql_config' '--with-openssl=shared,/usr/syno' '--with-pdo-mysql=shared,/usr/syno/mysql' '--with-pdo-pgsql=shared,/usr/syno/pgsql' '--with-pgsql=shared,/usr/syno/pgsql' '--enable-shmop=shared' '--enable-soap=shared' '--enable-sockets=shared' '--enable-wddx=shared' '--with-xmlrpc=shared' '--enable-zip=shared' '--with-sqlite3=static,/usr/syno/sqlite3' '--with-pdo-sqlite=static,/usr/syno/sqlite3' '--with-xsl=shared,/usr/syno/libxslt' '--enable-phar=shared' '--with-mssql=shared,/usr/syno/freetds'
だから私はmcryptが正しくインストールされていると思います...
edit 26/01/2015: 多くのフォーラムが、mcrypt に Synology NAS の問題があると報告しています