diff options
author | Anuj Mittal <anuj.mittal@intel.com> | 2018-04-03 17:50:15 +0800 |
---|---|---|
committer | Armin Kuster <akuster808@gmail.com> | 2018-04-08 17:00:06 -0700 |
commit | 0d052a48c9fd6d2207f150729a20804e416c91b1 (patch) | |
tree | 4e745b1c89b739a9f627a5042fec6a54e339dbed /meta-oe/recipes-devtools/php/php.inc | |
parent | 1816eb77793140a1e5940e3dbc005df48ada6384 (diff) | |
download | meta-openembedded-contrib-0d052a48c9fd6d2207f150729a20804e416c91b1.tar.gz |
php: add opcache extension to PACKAGECONFIG
OPcache improves PHP performance by storing precompiled script bytecode
in shared memory, thereby removing the need for PHP to load and parse
scripts on each request [1].
Add an option to enable opcache in php. AC_CHECK_FUNC isn't suitable for a
cross-compile environment, so pass the configure options instead to force
dlopen detection that is necessary to have extension support enabled.
On a standard phpbench test, I see a performance improvement of > 40%.
[1] http://php.net/manual/en/book.opcache.php
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Diffstat (limited to 'meta-oe/recipes-devtools/php/php.inc')
-rw-r--r-- | meta-oe/recipes-devtools/php/php.inc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/meta-oe/recipes-devtools/php/php.inc b/meta-oe/recipes-devtools/php/php.inc index fbc750df8f..8ba218c72c 100644 --- a/meta-oe/recipes-devtools/php/php.inc +++ b/meta-oe/recipes-devtools/php/php.inc @@ -21,7 +21,7 @@ SRC_URI_append_class-target = " \ file://php_exec_native.patch \ file://php-fpm.conf \ file://php-fpm-apache.conf \ - file://configure.patch \ + file://0001-acinclude.m4-don-t-unset-cache-variables.patch \ file://70_mod_php${PHP_MAJOR_VERSION}.conf \ file://php-fpm.service \ " @@ -40,7 +40,6 @@ PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}" COMMON_EXTRA_OECONF = "--enable-sockets \ --enable-pcntl \ --enable-shared \ - --disable-opcache \ --disable-rpath \ --with-pic \ --libdir=${PHP_LIBDIR} \ @@ -59,6 +58,9 @@ EXTRA_OECONF = "--enable-mbstring \ ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \ ${COMMON_EXTRA_OECONF} \ " + +CACHED_CONFIGUREVARS += "ac_cv_func_dlopen=yes ac_cv_lib_dl_dlopen=yes" + EXTRA_OECONF_class-native = " \ --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \ --without-iconv \ @@ -89,7 +91,7 @@ PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \ ,--without-imap --without-imap-ssl \ ,uw-imap" PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," - +PACKAGECONFIG[opcache] = ",--disable-opcache" export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}" export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php" @@ -196,14 +198,14 @@ php_sysroot_preprocess () { MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}" -PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}" +PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-opcache ${PN}" RDEPENDS_${PN} += "libgcc" RDEPENDS_${PN}-pear = "${PN}" RDEPENDS_${PN}-phar = "${PN}-cli" RDEPENDS_${PN}-cli = "${PN}" RDEPENDS_${PN}-modphp = "${PN} apache2" -RDEPENDS_${PN}-dev = "${PN}" +RDEPENDS_${PN}-opcache = "${PN}" INITSCRIPT_PACKAGES = "${PN}-fpm" inherit update-rc.d @@ -232,6 +234,8 @@ FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \ ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \ ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \ ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test" +FILES_${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a" +FILES_${PN}-opcache = "${PHP_LIBDIR}/extensions/*/opcache${SOLIBSDEV}" FILES_${PN} = "${PHP_LIBDIR}/php" FILES_${PN} += "${bindir}" |