{"id":61,"date":"2007-03-23T14:09:00","date_gmt":"2007-03-23T14:09:00","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=61"},"modified":"2007-03-23T14:09:00","modified_gmt":"2007-03-23T14:09:00","slug":"php-in-purem-java-mit-quercus","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2007\/03\/php-in-purem-java-mit-quercus\/","title":{"rendered":"PHP in purem Java mit Quercus"},"content":{"rendered":"<p>Quercus (<a title=\"http:\/\/quercus.caucho.com\/\" href=\"http:\/\/quercus.caucho.com\/\">http:\/\/quercus.caucho.com\/<\/a>) implementiert eine PHP 5 Engine in purem Java. Die Software ist unter LGPL und stammt von Caucho, die auch den performanten Resin-Server implementieren. Laut Herstellerangaben laufen bisher<\/p>\n<ul>\n<li>DokuWiki, Dragonfly CMS, Drupal, Gallery2, Joomla, Mambo, Mantis, MediaWiki, Phorum, phpBB, phpMyAdmin, PHP-Nuke, WordPress, XOOPS (<a title=\"http:\/\/quercus.caucho.com\/quercus-3.1\/doc\/quercus-list-of-applications.xtp\" href=\"http:\/\/quercus.caucho.com\/quercus-3.1\/doc\/quercus-list-of-applications.xtp\">http:\/\/quercus.caucho.com\/quercus-3.1\/doc\/quercus-list-of-applications.xtp<\/a>)<\/li>\n<\/ul>\n<p>Von den PHP-Funktionen fehlen bisher:<\/p>\n<ul>\n<li>call_user_method, call_user_method_array, get_declared_interfaces, interface_exists, property_exists<\/li>\n<li>date_default_timezone_get, date_default_timezone_set, date_sunrise, date_sunset, idate, localtime, strptime<\/li>\n<li>debug_print_backtrace, restore_exception_handler, set_exception_handler<\/li>\n<li>exif_read_data, exif_thumbnail, exif_tagname<\/li>\n<li>disk_free_space (stub), disk_total_space (stub), readlink (stub), umask (stub)<\/li>\n<li>register_tick_function, unregister_tick_function<\/li>\n<li>bind_textdomain_codeset (stub)<\/li>\n<li>headers_list, setrawcookie<\/li>\n<li>ob_iconv_handler<\/li>\n<li>imagecolorclosesthwb, imagecolorset, imagecolorstotal, imageftbbox, imagefttext, imagegammacorrect, imageinterlace, imagelayereffect, imageloadfont, imagepalettecopy, imagepsbbox, imagepscopyfont, imagepsencodefont, imagepsextendfont, imagepsfreefont, imagepsloadfont, imagepsslantfont, imagepstext, imagerotate, iptcembed, image2wbmp, jpeg2wbmp, png2wbmp, imagecreatefromgd2, imagecreatefromgd2part, imagecreatefromgd, imagegd2, imagegd<\/li>\n<li>ezmlm_hash<\/li>\n<li>mhash_keygen_s2k<\/li>\n<li>connection_aborted, connection_status, connection_timeout, __halt_compiler, highlight_file, highlight_string, ignore_user_abort, php_check_syntax, php_strip_whitespace, show_source, sys_getloadavg, time_nanosleep, time_sleep_until<\/li>\n<li>mysqli_debug, mysqli_disable_reads_from_master, mysqli_disable_rpl_parse, mysqli_info, mysqli_kill, mysqli_master_query, mysqli_report, mysqli_rpl_parse_enabled, mysqli_rpl_probe, mysqli_rpl_query_type, mysqli_send_long_data, mysqli_send_query, mysqli_server_end, mysqli_server_init, mysqli_ssl_set, mysqli_stmt_send_long_data, mysqli_thread_id, mysqli_thread_safe<\/li>\n<li>dns_get_record, inet_ntop, inet_pton, long2ip, pfsockopen, socket_get_status, socket_get_blocking, socket_get_timeout<\/li>\n<li>assert_options, dl (stub), get_current_user (stub), get_included_files, get_magic_quotes_gpc, get_magic_quotes_runtime, get_required_files, getopt, getrusage, ini_restore, memory_get_usage, php_ini_scanned_files, php_logo_gid, phpcredits, putenv, restore_include_path, set_magic_quotes_runtime, zend_logo_gid, zend_version<\/li>\n<li>proc_close, proc_get_status, proc_nice, proc_open, proc_terminate<\/li>\n<li>stream_bucket_append, stream_bucket_make_writeable, stream_bucket_new, stream_bucket_prepend, stream_filter_append, stream_filter_prepend, stream_filter_register, stream_filter_remove, stream_get_filters, stream_get_meta_data, stream_select, stream_set_blocking, stream_set_timeout (stub), stream_set_write_buffer (stub), stream_socket_accept, stream_socket_server, stream_socket_client, stream_socket_enable_crypto, stream_socket_get_name, stream_socket_pair, stream_socket_recvform, stream_socket_sendto, stream_socket_server<\/li>\n<li>xml_error_string, xml_get_current_byte_index, xml_get_current_column_number, xml_get_current_line_number, xml_get_error_code, xml_set_external_entity_ref_handler<\/li>\n<li>und noch ein paar<\/li>\n<\/ul>\n<p>Aus PHP heraus lassen sich Java-Objekte bauen und auf die gesamte API zugreifen:<\/p>\n<p>&lt;?php<\/p>\n<p>$a = new java(&#8222;java.util.Date&#8220;, 1234567);<\/p>\n<p>echo $a-&gt;day();<\/p>\n<p>?&gt;<\/p>\n<p>Neu eingef\u00fchrt in PHP wurde auch das import Schl\u00fcsselwort.<\/p>\n<p>Beitr\u00e4ge, die sich mit Quercus besch\u00e4ftigen und zeigen, wie das MediaWiki und Forums-Software l\u00e4uft, sind:<\/p>\n<ul>\n<li><a title=\"http:\/\/blogs.sun.com\/alexismp\/entry\/php_in_glassfish_first_steps\" href=\"http:\/\/blogs.sun.com\/alexismp\/entry\/php_in_glassfish_first_steps\">http:\/\/blogs.sun.com\/alexismp\/entry\/php_in_glassfish_first_steps<\/a>, Video: <a title=\"http:\/\/blogs.sun.com\/alexismp\/resource\/phpbbingf.html\" href=\"http:\/\/blogs.sun.com\/alexismp\/resource\/phpbbingf.html\">http:\/\/blogs.sun.com\/alexismp\/resource\/phpbbingf.html<\/a><\/li>\n<li>100% Java Quercus PHP engine running in GlassFish Java EE 5 Application Server&#8230; <a title=\"http:\/\/weblogs.java.net\/blog\/ludo\/archive\/2007\/03\/100_java_quercu.html\" href=\"http:\/\/weblogs.java.net\/blog\/ludo\/archive\/2007\/03\/100_java_quercu.html\">http:\/\/weblogs.java.net\/blog\/ludo\/archive\/2007\/03\/100_java_quercu.html<\/a><\/li>\n<li>Java and PHP Intermingling? <a title=\"http:\/\/www.javalobby.org\/java\/forums\/t91427.html\" href=\"http:\/\/www.javalobby.org\/java\/forums\/t91427.html\">http:\/\/www.javalobby.org\/java\/forums\/t91427.html<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Quercus (http:\/\/quercus.caucho.com\/) implementiert eine PHP 5 Engine in purem Java. Die Software ist unter LGPL und stammt von Caucho, die auch den performanten Resin-Server implementieren. Laut Herstellerangaben laufen bisher DokuWiki, Dragonfly CMS, Drupal, Gallery2, Joomla, Mambo, Mantis, MediaWiki, Phorum, phpBB, phpMyAdmin, PHP-Nuke, WordPress, XOOPS (http:\/\/quercus.caucho.com\/quercus-3.1\/doc\/quercus-list-of-applications.xtp) Von den PHP-Funktionen fehlen bisher: call_user_method, call_user_method_array, get_declared_interfaces, interface_exists, property_exists [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[4],"tags":[],"class_list":["post-61","post","type-post","status-publish","format-standard","hentry","category-open-source"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/61","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=61"}],"version-history":[{"count":0,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/61\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=61"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=61"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=61"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}