mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-10-22 20:38:28 +00:00
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>
This commit is contained in:
1 parent
1816eb7779
commit
0d052a48c9
7 files changed
+822
-26
No files matched your search
@@ -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}"
|
||||
|
||||
|
||||
Reference in new issue
Block a user