Hallo,
ich benötige die curl-Funktionen in einem PHP-Skript, um ein Servlet "auszuführen".
ich habe zunächst mal ein beispiel von php.net probiert:
Wenn ich es ausführe bringt er den Fehler :
Fatal error: Call to undefined function: curl_init() in ........... usw
Ich habe dann mal ein bisschen im Internet geschaut und gelesen, daß man PHP mit CURL kompilen muß.Daraufhin habe ich mir meine PHP-info-Seite angeschaut:
da steht also was drin mit CURL. Ob das so richtig ist, weiß ich nicht. ich habe curl auch nochmal drüberinstalliert, daß ich von curl.haxx.se heruntergeladen habe (war ein downgrade...). Es ist also auch installiert. Ein locate auf curl gibt folgendes:
/usr/bin/curl
/usr/doc/curl
/usr/lib/libcurl.so.2
/usr/lib/libcurl.so.2.0.2
/usr/share/curl
/usr/share/curl/curl-ca-bundle.crt
/usr/share/doc/curl
/usr/share/doc/curl/BUGS
/usr/share/doc/curl/changelog.Debian.gz
/usr/share/doc/curl/changelog.gz
/usr/share/doc/curl/copyright
/usr/share/doc/curl/FAQ.gz
/usr/share/doc/curl/FEATURES
/usr/share/doc/curl/KNOWN_BUGS
/usr/share/doc/curl/LEGAL
/usr/share/doc/curl/MANUAL.gz
/usr/share/doc/curl/MITX.txt
/usr/share/doc/curl/MPL-1.1.txt.gz
/usr/share/doc/curl/progress-bar.patch
/usr/share/doc/curl/README
/usr/share/doc/curl/README.Debian
/usr/share/doc/curl/THANKS
/usr/share/doc/curl/TheArtOfHttpScripting.gz
/usr/share/doc/curl/TODO.gz
/usr/share/doc/libcurl2
/usr/share/doc/libcurl2/BINDINGS
/usr/share/doc/libcurl2/BUGS
/usr/share/doc/libcurl2/changelog.Debian.gz
/usr/share/doc/libcurl2/changelog.gz
/usr/share/doc/libcurl2/copyright
/usr/share/doc/libcurl2/FAQ.gz
/usr/share/doc/libcurl2/FEATURES
/usr/share/doc/libcurl2/KNOWN_BUGS.gz
/usr/share/doc/libcurl2/README
/usr/share/doc/libcurl2/THANKS
/usr/share/doc/libcurl2/TODO.gz
/usr/share/doc/libcurl2/VERSIONS
/usr/share/man/man1/curl.1.gz
/var/cache/apt/archives/curl_7.11.0-4_i386.deb
/var/cache/apt/archives/libcurl2_7.11.0-4_i386.deb
/var/lib/dpkg/info/curl.list
/var/lib/dpkg/info/curl.md5sums
/var/lib/dpkg/info/curl.postinst
/var/lib/dpkg/info/curl.prerm
/var/lib/dpkg/info/libcurl2.list
/var/lib/dpkg/info/libcurl2.md5sums
/var/lib/dpkg/info/libcurl2.postinst
/var/lib/dpkg/info/libcurl2.postrm
/var/lib/dpkg/info/libcurl2.shlibs
Wenn ich versuche, die Datei /usr/lib/libcurl.so.2 oder /usr/lib/libcurl.so.2.0.2 in der php.ini als extension anzugeben, sagt er mir, daß es keine php-extension ist, womit er wahrscheinlich recht hat.
Ich habe auch gelesen, daß man PHP nicht unbedingt neu kompilieren muß, um den curl support einzuschalten. man könnte es auch mit einer *.so-Datei über die php.ini einbinden. Geht das irgendwie?
Ich weiß nicht so recht, wie man das recompiled und wollte es eigentlich vermeiden.
Ist leider dringend und ich bin für jede Hilfe dankbar.
ich benötige die curl-Funktionen in einem PHP-Skript, um ein Servlet "auszuführen".
ich habe zunächst mal ein beispiel von php.net probiert:
Code:
<?php //Die Session initialisieren $ch = curl_init("http://www.example.com/"); $fp = fopen("example_homepage.txt", "w"); //Session Optionen setzen curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); //Ausführen der Aktionen curl_exec($ch); //Session beenden curl_close($ch); fclose($fp); ?>
Fatal error: Call to undefined function: curl_init() in ........... usw
Ich habe dann mal ein bisschen im Internet geschaut und gelesen, daß man PHP mit CURL kompilen muß.Daraufhin habe ich mir meine PHP-info-Seite angeschaut:
'../configure' '--prefix=/usr' '--with-apxs=/usr/bin/apxs' '--with-regex=php' '--with-config-file-path=/etc/php4/apache' '--disable-rpath' '--enable-memory-limit' '--disable-debug' '--with-layout=GNU' '--with-pear=/usr/share/php' '--enable-calendar' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-trans-sid' '--enable-bcmath' '--with-bz2' '--enable-ctype' '--with-db4' '--with-iconv' '--enable-exif' '--enable-filepro' '--enable-ftp' '--with-gettext' '--enable-mbstring' '--with-pcre-regex=/usr' '--enable-shmop' '--enable-sockets' '--enable-wddx' '--disable-xml' '--with-expat-dir=/usr' '--enable-yp' '--with-zlib' '--without-pgsql' '--with-kerberos=/usr' '--with-openssl=/usr' '--with-exec-dir=/usr/lib/php4/libexec' '--disable-static' '--with-curl=shared,/usr' '--with-dom=shared,/usr' '--with-dom-xslt=shared,/usr' '--with-dom-exslt=shared,/usr' '--with-zlib-dir=/usr' '--with-gd=shared,/usr' '--with-jpeg-dir=shared,/usr' '--with-xpm-dir=shared,/usr/X11R6' '--with-png-dir=shared,/usr' '--with-freetype-dir=shared,/usr' '--with-imap=shared,/usr' '--with-imap-ssl' '--with-ldap=shared,/usr' '--with-mcal=shared,/usr' '--with-mhash=shared,/usr' '--with-mm' '--with-mysql=shared,/usr' '--with-unixODBC=shared,/usr' '--with-recode=shared,/usr' '--enable-xslt=shared' '--with-xslt-sablot=shared,/usr' '--with-snmp=shared' '--enable-ucd-snmp-hack' '--with-sybase-ct=shared,/usr' '--with-ttf=shared,/usr' '--with-t1lib=shared,/usr'
/usr/bin/curl
/usr/doc/curl
/usr/lib/libcurl.so.2
/usr/lib/libcurl.so.2.0.2
/usr/share/curl
/usr/share/curl/curl-ca-bundle.crt
/usr/share/doc/curl
/usr/share/doc/curl/BUGS
/usr/share/doc/curl/changelog.Debian.gz
/usr/share/doc/curl/changelog.gz
/usr/share/doc/curl/copyright
/usr/share/doc/curl/FAQ.gz
/usr/share/doc/curl/FEATURES
/usr/share/doc/curl/KNOWN_BUGS
/usr/share/doc/curl/LEGAL
/usr/share/doc/curl/MANUAL.gz
/usr/share/doc/curl/MITX.txt
/usr/share/doc/curl/MPL-1.1.txt.gz
/usr/share/doc/curl/progress-bar.patch
/usr/share/doc/curl/README
/usr/share/doc/curl/README.Debian
/usr/share/doc/curl/THANKS
/usr/share/doc/curl/TheArtOfHttpScripting.gz
/usr/share/doc/curl/TODO.gz
/usr/share/doc/libcurl2
/usr/share/doc/libcurl2/BINDINGS
/usr/share/doc/libcurl2/BUGS
/usr/share/doc/libcurl2/changelog.Debian.gz
/usr/share/doc/libcurl2/changelog.gz
/usr/share/doc/libcurl2/copyright
/usr/share/doc/libcurl2/FAQ.gz
/usr/share/doc/libcurl2/FEATURES
/usr/share/doc/libcurl2/KNOWN_BUGS.gz
/usr/share/doc/libcurl2/README
/usr/share/doc/libcurl2/THANKS
/usr/share/doc/libcurl2/TODO.gz
/usr/share/doc/libcurl2/VERSIONS
/usr/share/man/man1/curl.1.gz
/var/cache/apt/archives/curl_7.11.0-4_i386.deb
/var/cache/apt/archives/libcurl2_7.11.0-4_i386.deb
/var/lib/dpkg/info/curl.list
/var/lib/dpkg/info/curl.md5sums
/var/lib/dpkg/info/curl.postinst
/var/lib/dpkg/info/curl.prerm
/var/lib/dpkg/info/libcurl2.list
/var/lib/dpkg/info/libcurl2.md5sums
/var/lib/dpkg/info/libcurl2.postinst
/var/lib/dpkg/info/libcurl2.postrm
/var/lib/dpkg/info/libcurl2.shlibs
Wenn ich versuche, die Datei /usr/lib/libcurl.so.2 oder /usr/lib/libcurl.so.2.0.2 in der php.ini als extension anzugeben, sagt er mir, daß es keine php-extension ist, womit er wahrscheinlich recht hat.
Ich habe auch gelesen, daß man PHP nicht unbedingt neu kompilieren muß, um den curl support einzuschalten. man könnte es auch mit einer *.so-Datei über die php.ini einbinden. Geht das irgendwie?
Ich weiß nicht so recht, wie man das recompiled und wollte es eigentlich vermeiden.
Ist leider dringend und ich bin für jede Hilfe dankbar.
Kommentar