with configuration:
IMAGE_INSTALL_append = " apache2 php-fpm-apache2"
systemctl status apache2.service report error:
httpd: Syntax error on line 509 of /etc/apache2/httpd.conf: Syntax error on line 3 of /etc/apache2/conf.d/php-fpm.conf: Cannot load lib/apache
fix by correct the module path
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Configuration:
IMAGE_INSTALL_append = " modphp apache2 phpmyadmin xdebug"
PACKAGECONFIG_append_pn-php = " apache2"
Apache2 service start up with error:
[php7:crit] [pid 3943:tid 140477147074880] Apache is running a threaded MPM,
but your PHP Module is not compiled to be threadsafe.
Fix:
after apache2 is upgraded from 2.4.34 to 2.4.39, apache2-native
installs httpd into STAGING_SBINDIR_NATIVE, correct it so that
ZTS feature is open, and php is compiled to be threadsafe.
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
License-Update: 7.x version trim trailing whitespace
7.x:
* drop CVE-2017-9120.patch since it cannot resolve the CVE
* use recommand option --with-libzip, bundled libzip is deprecated
* update patches
5.x:
* use recommand option --with-libzip, bundled libzip is deprecated
* update patches
* Fix php 7.x cross build on hosts which have libxml2 installed
libxml2 is not detected properly, it pokes at host and takes the
libraries and header files added to build which links in libraries like
libicu which may not be available in sysroot causing configure failures
like
checking for sqlite3 files in default path... found in TOPDIR/build/tmp/work/aarch64-yoe-linux/php/7.3.2-r0/recipe-sysroot/usr/lib/..
checking for SQLite 3.3.9+... checking for sqlite3_prepare_v2 in -lsqlite3... no
not found
configure: error: Please install SQLite 3.3.9 first or check libsqlite3 is present
the reason is configure test fails to find icu libraries since they were
added based on build host's libxml2.pc
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
A couple have still been missed in the past despite multiple
attempts at doing so (or simply have re-appeared?).
Search & replace made using the following command:
sed -e 's|\(d\.getVar \?\)( \?\([^,()]*\), \?True)|\1(\2)|g' \
-i $(git grep -E 'getVar ?\( ?([^,()]*), ?True\)' \
| cut -d':' -f1 \
| sort -u)
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The autoconf variable `ac_cv_func_dlopen` controls whether `dlopen()`
is available without linking `libdl.so`. But that doesn't work:
tmp-glibc/work/aarch64-oe-linux/php/7.2.10-r0/recipe-sysroot-native/usr/bin/aarch64-oe-linux/../../libexec/aarch64-oe-linux/gcc/aarch64-oe-linux/8.2.0/ld: ext/sqlite3/libsqlite/sqlite3.o: undefined reference to symbol 'dlsym@@GLIBC_2.17'
tmp-glibc/work/aarch64-oe-linux/php/7.2.10-r0/recipe-sysroot-native/usr/bin/aarch64-oe-linux/../../libexec/aarch64-oe-linux/gcc/aarch64-oe-linux/8.2.0/ld: tmp-glibc/work/aarch64-oe-linux/php/7.2.10-r0/recipe-sysroot/lib/libdl.so.2: error adding symbols: DSO missing from command line
Leave `ac_cv_lib_dl_dlopen=yes`, because that's the one which controls
whether `-ldl` is needed.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Removing "sqlite3" from `PACKAGECONFIG` doesn't actually disable
SQLite, because those options default to "yes". It just switches from
the system SQLite to PHP's internal SQLite copy.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
1. Upgrade 7.2.9 -> 7.2.10
2. php 5.x not support valgrind config, so move it to php_7.x.bb
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
configure will look by default for valgrind.h in some host directories.
We override this by setting --with-valgrind even if we do not want it.
The default value of PACKAGECONFIG does not enable valgrind support.
Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The PHP recipe depends on OpenSSL but support is disabled unless you pass
--with-openssl.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The PHP recipe depends on OpenSSL but support is disabled unless you pass
--with-openssl. Add a PACKAGECONFIG for openssl and enable it by default.
Also for clarity pass --enable-opcache when the opcache is enabled.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
It caused by a new variable is declared after the label
There is a build failure on mips:
...
|sljitNativeMIPS_common.c: In function 'sljit_has_cpu_feature':
|sljitNativeMIPS_common.c:506:3: error: a label can only be part
of a statement and a declaration is not a statement
| sljit_sw fir;
| ^~~~~~~~
...
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
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>
* For changes, see:
http://www.php.net/ChangeLog-7.php#7.2.4
* Remove patches as they've been upstreamed:
- 0001-Specify-tag-with-libtool.patch
- CVE-2017-16642.patch
- CVE-2018-5711.patch
* mcrypt module has been deprecated and as such dependency has been moved
from php.inc to php5 recipe.
* Refresh patches to avoid fuzz warnings.
* New patches to:
- Make sure libxml is detected using pkg-config instead of binconfig.
- Fix link time warnings (backport, see patch for details)
* Move the following patches to php5 from inc as they were getting applied
out of context:
- acinclude-xml2-config.patch
- 0001-acinclude-use-pkgconfig-for-libxml2-config.patch
License-Update: License is same, just a change in copyright year to 2018.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Having two directories with version numbers just leads to unnecessary
churn everytime there's a version update.
We can have all patches in one single directory and differentiate b/w
specific version by prefix php5-/php7-
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
The use of SSTATEPOSTINSTFUNCS has been deprecated and is not
needed for php-native. The current function always fails, forcing
a re-build of php-native.
Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Avoids issues with 'libgcc_s.so.1 must be installed for pthread_cancel to work'
Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
There are many unaddressed CVEs which are fixed in 7.1.7
and later versions. Allow the user to define php_5.6.26
to enable building the recipe.
Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
License checksum changed due to opyright year changed to 2017
Fix build with clang/hardening
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Changed in V4:
Add the tag: meta-oe
1. Different version php have different libphp*.so, so we need to install its
corresponding libphp*.so, for example:
php-7.1.0 libphp7.so
php-5.6.26 libphp5.so
2. Fix php-5.6.26 compiling errors:
ld: TSRM/.libs/TSRM.o: undefined reference to symbol
'pthread_sigmask@@GLIBC_2.2.5'
error adding symbols: DSO missing from command line
3. Create a configure script like 70_mod_php5, we name it 70_mod_php7, this
file connect the php7 and the apache2, so they work together to let the
LAMP works correctly.
Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* based on discussion in pndeprecated thread:
https://patchwork.openembedded.org/patch/137573/
update the messages to warn possible users that the
recipe will be removed before the end of the next development
cycle (before Yocto 2.4 is released).
* updated with:
sed -i 's/^\(PNBLACKLIST.*".*\)"/\1 - the recipe will be removed on 2017-09-01 unless the issue is fixed"/g' `git grep PNBLACKLIST | sed 's/:.*//g' | sort -u | xargs`
* then noticed couple recipes being blacklisted only based on
DISTRO_FEATURES, so removed those:
meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.17.bb
meta-oe/recipes-connectivity/bluez/bluez-hcidump_2.5.bb
meta-oe/recipes-connectivity/bluez/bluez4_4.101.bb
meta-oe/recipes-connectivity/bluez/gst-plugin-bluetooth_4.101.bb
meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb
meta-oe/recipes-navigation/gypsy/gypsy.inc
meta-oe/recipes-navigation/navit/navit.inc
meta-oe/recipes-support/opensync/libsyncml_0.5.4.bb
* if it isn't fixed by this date, it's fair game to be removed
whenever someone gets around to i
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
After switch to RSS(recipe specific sysroot), the php package failed when
installing.
This is because the build system can't find the file: pear.conf, that file
stay in "${D}/${STAGING_DIR_NATIVE}" directory before the switch, now stay
in "${RECIPE_SYSROOT_NATIVE}" directory, so we need to place it in correct
place.
Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
1)Add php_7.1.0.bb
2)Delete php_5.5.38.bb,since it is replaced by php_5.6.26.bb.
3)Move pthread-check-threads-m4.patch out of 7.1.0, since it is integrated upstream.
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Remove superfluous "+=", then manually add necessary leading space.
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>