Function Compute の PHP ランタイム環境には、いくつかの一般的な組み込み拡張機能が含まれています。また、これらの拡張機能を追加または削除して、環境をカスタマイズすることもできます。
本稿では、protobuf 組み込み拡張を例に、拡張を削除する方法を説明します。Function Compute の PHP 実行環境でサポートされている組み込み拡張のリストについては、「PHP 組み込み拡張」をご参照ください。
-
関数のエントリファイルと同じディレクトリに、extension というディレクトリを作成します。ディレクトリ構造は次のとおりです。
. |____extension | |____my_ext.ini |____index.php -
my_ext.ini ファイルを編集して、protobuf 拡張をコメントアウトします。
他の拡張を追加したり、不要な拡張をコメントアウトしたりすることで、起動速度を最適化できます。例:
extension=session.so extension=ftp.so extension=shmop.so extension=bcmath.so extension=gettext.so extension=pcntl.so extension=simplexml.so extension=xmlreader.so extension=bz2.so extension=gmp.so extension=pdo.so extension=soap.so extension=xmlrpc.so extension=calendar.so extension=iconv.so extension=pdo_mysql.so extension=sockets.so extension=xmlwriter.so extension=ctype.so extension=imagick.so extension=phar.so extension=sysvmsg.so extension=dom.so extension=json.so extension=posix.so extension=sysvsem.so extension=exif.so extension=zip.so extension=memcached.so extension=mbstring.so ;extension=protobuf.so extension=sysvshm.so extension=fileinfo.so extension=mysqli.so extension=redis.so extension=tokenizer.so zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/opcache.so zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so -
上記のディレクトリ構造を持つコードパッケージを使用して関数を作成します。詳細については、「関数の作成」をご参照ください。
-
関数の環境変数を設定します。PHP_INI_SCAN_DIR をカスタム設定ディレクトリに指定することで、PHP 実行環境が protobuf 拡張をロードしないようにします。関数の [環境変数] 設定で、
PHP_INI_SCAN_DIR変数を/code/extensionに設定します。