Hallo mal in die Runde,
also ich habe Folgendes Problem:
ich bin gerade dabei die "neue" PHP Version 5.2.10 als Debian .deb Paket zu bauen. Was auch an und für sich kein Probelm war nur habe ich dabei ein Problem und zwar dass wenn ich mein Paket installiere tut er das zwar nur ist es nicht möglich die info.php anzuzeigen sondern nur herunterzuladen. Also wo Grundsätzlich der Fehler liegt weis ich nämlich am fehlenden PHP Modul "libphp5.so". Meine Frage ist also wie erstelle ich dieses Modul beim Kompillieren? oder wird das Modul erst bei meinem make install aufruf erzeugt? bzw wie bekomme ich das son eingebaut dass es sich automatisch installiert?
damit man was mit dem Post anfangen kann hier ich hoffe mal die wichtigsten Grundkonfiguretionen:
das System:
Code:
uname -a
Linux client 2.6.26-2-amd64 #1 SMP Thu May 28 21:28:49 UTC 2009 x86_64 GNU/Linux/
meine ./configure aufruf:
Code:
./configure --with-apxs2=/usr/bin/apxs2 --with-apache2 --with-config-file-path=/etc/php5 --enable-cli --with-pear --with-mysql --with-config-file=/etc/php5/php.ini --with-config-file-path=/etc/php5/ --with-mysql --with-openssl --with-pdo-mysql --with-xsl --with-gd --enable-suhosin --enable-fastcgi --enable-force-cgi-redirect --with-regex=php
danach habe ich dann ein make aufruf gestartet der auch wunderbar durchlief. Den make install brauche ich nun nicht mehr da ich sofort mit dem dh_make die sogenannte "debianiesierung" gemacht habe um letzenendes mit einem dpkg-buildpackage -us -uc -a ein .deb Paket zu bekommen welches sich mittels dpkg -i <Packetname> auch wunderbar installieren lässt.
nun fehlt noch der Moduleintrag also die httpd.conf:
Code:
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
#LoadModule directive to aid module installations
#LoadModule dummy_module /usr/lib/apache2/modules/mod_dummy.so
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
#Action application/x-httpd-php "/php/php5"
Einträge gesetzt. ich konnte das a2enmod nicht setzen weil entweder ist das Modul nicht vorhanden oder er hat es mir woanders abgelegt. es kommt dann folgende Fehlermeldungbeim restart des apaches:
Code:
restarting web server: apache2We failed to correctly shutdown apache, so we're now killing all running apache processes. This is almost certainly suboptimal, so please make sure your system is working as you'd expect now! (warning).
... waiting apache2: Syntax error on line 189 of /etc/apache2/apache2.conf: Syntax error on line 6 of /etc/apache2/httpd.conf: Cannot load /usr/lib/apache2/modules/libphp5.so into server: /usr/lib/apache2/modules/libphp5.so: cannot open shared object file: No such file or directory
wenn ich auf normalem weg (sprich grep oder locate) die libphp5.so suche sagt er mir: "no such file or direktory"
das Script welches sowohl mein configure aufruf tätigt als auch das kompilieren übernimmt hänge ich mal noch dran:
Code:
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
else
CROSS= --build $(DEB_BUILD_GNU_TYPE)
endif
config.status: configure
dh_testdir
# Add here commands to configure the package.
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
cp -f /usr/share/misc/config.sub config.sub
endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
cp -f /usr/share/misc/config.guess config.guess
endif
./configure $(CROSS) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --with-apxs2=/usr/bin/apxs2 --with-apache2 --with-config-file-path=/etc/php5 --enable-cli --with-pear --with-mysql --with-config-file=/etc/php5/php.ini --with-config-file-path=/etc/php5/ --with-mysql --with-openssl --with-pdo-mysql --with-xsl --with-gd --enable-fastcgi --enable-force-cgi-redirect --with-regex=php --with-pgsql #CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"
build: build-stamp
build-stamp: config.status
dh_testdir
# Add here commands to compile the package.
$(MAKE)
#docbook-to-man debian/php.sgml > php.1
touch $@
clean:
dh_testdir
dh_testroot
rm -f build-stamp
# Add here commands to clean up after the build process.
[ ! -f Makefile ] || $(MAKE) distclean
rm -f config.sub config.guess
dh_clean --exclude ./ext/standard/var_unserializer.c.orig --exclude ./ext/standard/url_scanner_ex.c.orig --exclude ./ext/date/lib/parse_date.c.orig --exclude ./ext/spl/tests/iterator_044.phpt.orig --exclude ./ext/pdo/pdo_sql_parser.c.orig
install: build
dh_testdir
dh_testroot
dh_clean -k --exclude ./ext/standard/var_unserializer.c.orig --exclude ./ext/standard/url_scanner_ex.c.orig --exclude ./ext/date/lib/parse_date.c.orig --exclude ./ext/spl/tests/iterator_044.phpt.orig --exclude ./ext/pdo/pdo_sql_parser.c.orig
dh_installdirs
# Add here commands to install the package into debian/php.
$(MAKE) prefix=$(CURDIR)/debian/php/usr install
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
# dh_install
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_python
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_perl
dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
wie gesagt dass das ganze wohl an dem Modul libphp5.so liegt ist mir klar, denn wenn ich mir dieses modul von einem anderen Server einfach in das .../apache2/modules kopiere tut alles wie es soll, nur bekomme ich diese libphp5.so nicht in mein Paket eingebaut.
so ich hoffe das sind genug Informationen um etwas anzufangen und hoffe auf eure Hilfe.
MfG
FuPe