www.archive-net-2013.com » NET » P » PHPCOMPILER

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".

    Archived pages: 798 . Archive date: 2013-04.

  • Title: Phalanger Wiki - PhalangerWiki
    Descriptive info: .. Phalanger Wiki.. From PhalangerWiki.. Jump to:.. navigation.. ,.. search.. Welcome to the Phalanger Wiki.. Here you can find and contribute to the.. Phalanger.. project documentation.. The wiki guides you through the first steps using Phalanger, basic features and also most advanced internals of the project.. [.. edit.. ].. Getting started with Phalanger.. Download Phalanger at codeplex pages.. first.. - The introduction to the project.. Compatibility.. - Current status of compatibility with standard PHP runtime and applications.. Web Server configuration.. - How to setup your web server to use the Phalanger.. Migration/3.. 0.. - Migration guide to Phalanger 3.. 0 running on.. NET 4.. References.. - See projects using.. or interesting articles about.. Code samples.. - Samples on how to develop applications using Phalanger.. Building web/application using Phalanger.. Compilation.. - Compiling.. PHP.. source code using Phalanger.. Visual Studio Integration.. - How to develop your Phalanger application in Microsoft.. Visual Studio.. environment.. Extensions.. - Using standard PHP.. native extensions..  ...   project within several parts.. Console application.. - Creating standard executable console application.. Windows Forms.. - Creating standard.. NET windows forms application.. NET interoperability.. - Possibilities of using.. NET features in PHP and vice versa.. Pure mode.. - Strict mode targeting most compatible.. NET assembly usable e.. g.. in classic C# project.. Extending Phalanger.. Extensions in PHP.. - Writing.. managed extension.. for Phalanger using standard PHP syntax.. Extensions in C#.. for Phalanger in C#.. Native extensions.. - Using own standard PHP extension written i C language on Phalanger.. Retrieved from ".. http://wiki.. phpcompiler.. net/Phalanger_Wiki.. ".. Views.. Article.. Discussion.. Edit.. History.. Personal tools.. 91.. 105.. 23.. 92.. Talk for this IP.. Log in / create account.. Navigation.. Phalanger Blog.. Phalanger Support.. Download.. Recent changes.. Random page.. Search.. Toolbox.. What links here.. Related changes.. Upload file.. Special pages.. Printable version.. Permanent link.. php-compiler.. net.. DEVSENSE.. This page was last modified 10:10, 15 December 2011.. This page has been accessed 79,769 times..

    Original link path: /Phalanger_Wiki
    Open archive

  • Title: Phalanger - PhalangerWiki
    Descriptive info: Phalanger is a new PHP implementation introducing the PHP language into the family of compiled.. NET languages.. It provides PHP applications an execution environment that is fast and extremely compatible with the vast array of existing PHP code.. Phalanger gives web-application developers the ability to benefit from both the ease-of-use and effectiveness of the PHP language and the power and richness of the.. NET platform taking profit from the best from both sides.. Other topics:.. Security.. - Security advantages of Phalanger powered PHP applications.. Phalanger use cases.. - Possible important and interesting usages of.. Contents.. 1.. PHP Language Compilation.. 2.. The Class Library.. 3.. ASP.. NET cooperation.. 4.. Requirements.. 5.. Versions history.. PHP Language Compilation.. The Phalanger compiler will compile the PHP language into the MSIL byte-code.. It is thus the front-end of the compilation while the back-end is provided by the JITter (Just-In-Time compiler) which is a part of the.. NET framework.. That's why we do not address the native code generation nor optimization.. Our task is to compile the PHP scripts into.. NET assemblies - logical units containing MSIL code and meta-data.. To be able to reuse compiled code as much as possible, it is necessary to compile individual PHP scripts separately.. This is in contrast to the behavior of PHP interpreter: when a PHP script references another (for example using the include construct), the interpreter performs actions very similar to actual source code copy-paste inclusion at that place.. This means that code sharing involves lot of code reinterpretation unless it is cached and optimized by some additional third party tool.. That's why the Phalanger compiler compiles individual files to unilaterally independent modules (an included script is not dependent on the including one) to enable linking of the resulting modules without the need of recompilation.. This approach requires careful treatment of the compiled form of scripts which may or may not enable such optimization.. The PHP language contains some constructs having interpreted character.. These constructs have to be handled in compile-time so that the resulting code would do the same but effectively.. Some constructs may be implemented using parts of compile-time symbol-tables emitted into the resulting code; some require execution of code which is unknown in the compile time (e.. the eval construct).. The latter ones require the execution of a compiler to generate and run the MSIL code at run-time (run-time code generation is supported by the Framework thanks to the JIT compilation, although there are some drawbacks which we also discuss in this paper.. It is important to notice that an experienced programmer does not need to use such constructs very often because in most cases it is possible to reach the same effect using a "cleaner" technique.. It is thus not necessary to compile such constructs more effectively than other ones.. The Class Library.. PHP contains several hundreds of functions available to PHP script programmers.. These may be divided into these groups:.. PHP language functions (constructs) working directly with variables, functions, objects etc.. (e.. eval, assert, include, list etc.. ).. Built-in functions for string and array manipulations, mathematical functions, regular expressions, file access etc.. External functions contained in PHP extensions used for example for database access, image manipulation etc.. Language constructs are implemented by the compiler including those having a function-call syntax but treating its arguments in a special manner (such as array, list etc.. ).. There are no corresponding functions in the Phalanger Class Library.. Built-in functions are implemented in the Phalanger Class Library, which is written entirely in C# and providing this functionality via classes (for example PHP.. PhpStrings, PHP.. PhpArrays etc.. ) and their static methods.. The library is  ...   is a part of the Phalanger project but may be used independently in any other.. NET application as a faster alternative to the TcpChannel and HttpChannel shipped with.. NET Framework.. The ExtManager simulates the PHP interpreter environment to the hosted libraries so that their functionality is the same as in PHP.. Since the extension libraries contain an unmanaged (native) code they may cause exceptions leading to the termination of the calling process.. NET server then executes a new process of ExtManager without threatening the server process itself in such case.. The server administrator installing Phalanger and deciding which libraries are available for the page developers will have the tools necessary to install any library implementing the interface designed by the PHP authors.. This installation is performed by a standalone application shipped with Phalanger.. A code encapsulating the given library is generated.. We call it a managed wrapper of the extension.. It gives access to the functions contained in the extension from the managed environment (for example C#) via the ExtManager.. This wrapper contains definitions (stubs) of the encapsulated functions together with the type information.. Since there is no such information (regarding function arguments or return value types) in the dynamic libraries, it has to be provided by user in XML format.. These type-information files form a part of the Phalanger installation for the most commonly used extensions together with the compiled wrappers for these extensions.. NET cooperation.. The cooperation is enabled by an object implementing an interface for responding requests sent by clients to a web-server (a.. k.. a.. HTTP Handler).. A request is received by the IIS (Internet Information Server) which should be configured to pass.. php page requests to the ASP.. NET server.. This server (process) is a host of.. NET Framework applications.. There are several logical spaces in its address space called AppDomains each created to serve requests for one web application (not only Phalanger ones).. When a request to a Phalanger application comes to the server an object called request handler is created and starts to process the request.. At first it checks for the presence of a cached compilation of the requested script.. If the compiled code is not found a compiler is executed to create it and store it into the cache.. The compiled code is then instantiated and executed within a script context which is also created per request.. It contains run-time modifiable configuration and other stuff valid while the request is processing.. NET applications are configured using XML configuration files.. The main file (Machine.. config) is stored in the.. NET Framework directory.. The individual web-applications are configured using Web.. config files stored in the respective directories with the configuration being inherited through the directory hierarchy.. This is used also in the Phalanger configuration.. In the typical installation, there is a Phalanger virtual directory in the root directory of the web-server.. The main configuration file (with options similar to the php.. ini file) will be the Web.. config in the Phalanger directory.. This file is managed by the web-server administrator who will create subdirectories for individual web-applications enabling them to reconfigure some settings using the corresponding Web.. config files.. Requirements.. The Phalanger is a Microsoft.. NET Framework application.. It requires the Microsoft.. NET Framework 2.. 0 or 4.. 0 with latest Service Packs and Microsoft Windows XP/2003/2008/Vista/7 operating system.. Integration with ASP.. NET is the principal feature of Phalanger.. This requires Internet Information Services (IIS) version 6 or newer with ASP.. NET installed.. The ASP.. NET is installed automatically for IIS-enabled systems with the.. NET Framework setup.. Versions history.. Phalanger/1.. Phalanger/2.. 1.. Phalanger/3.. net/Phalanger.. This page has been accessed 9,573 times..

    Original link path: /Phalanger
    Open archive

  • Title: Login required to edit - PhalangerWiki
    Descriptive info: Login required to edit.. You have to.. login.. to edit pages.. Return to..

    Original link path: /index.php?title=Phalanger_Wiki&action=edit§ion=1
    Open archive

  • Title: Compatibility - PhalangerWiki
    Descriptive info: is compatible with full range of.. PHP applications.. Since every version of PHP is specific in some way and PHP applications are using these differences; Phalanger is being tested with latest versions of many.. opensource and commercial PHP applications.. to achieve better compatibility and fix application-specific issues.. Because Phalanger compiles the whole source code of PHP application, it usually finds a few hidden syntactic or semantic errors.. These must be fixed first.. For more examples of single Phalanger usages and its possibilities, please see.. PHP features in progress.. Following table lists known PHP features that are currently not fully supported on Phalanger.. Feature.. Development state.. SPL.. In development.. PHP Reflection.. PDO.. In development.. PHP 5.. 3 Late static binding.. Supported.. 3 Closures Anonymous functions.. 3 indirect class usage.. 4 Closures rebinding.. Unsupported.. 4 new callbacks option.. 4 Traits.. In parser, cannot be compiled yet..  ...   faster and safe.. Missing managed extensions can be implemented, if it is required.. Proprietary.. extensions are available as a part of.. support plans.. Note.. don't run on Mono/Linux, since they are compiled for Win32 platform.. The only way is to use.. here.. Extension.. Bundled as native.. Managed reimpementation.. bcmath.. yes.. no.. big_int.. bz2.. calendar.. com.. Core.. yes.. cpdf.. crack.. ctype.. curl.. http/https.. date.. db.. dba.. dbase.. dbx.. dom.. domxml.. ereg.. exif.. fileinfo (PHP5).. filepro.. filter.. ftp.. gd2.. gettext.. in progress.. hash.. hyperwave.. iconv.. image.. imap.. interbase.. java.. json.. ldap.. libxml.. mbstring.. mcrypt.. memcached.. yes, proprietary.. mhash.. mime_magic.. dl.. ming.. msql.. mssql.. mysql.. odbc.. openssl.. pcre.. pdf.. pgsql.. PDO.. (in progress).. printer.. Reflection.. shmop.. snmp.. session.. sockets.. SOAP.. SoapClient.. SimpleXML.. standard.. tokenizer.. xml.. xmlrpc.. xsl.. xslt.. yaz.. zip.. zlib.. net/Compatibility.. This page was last modified 14:54, 6 March 2013.. This page has been accessed 34,352 times..

    Original link path: /Compatibility
    Open archive

  • Title: Web Server configuration - PhalangerWiki
    Descriptive info: Windows.. Web Server configuration/IIS 5.. - Guide how to install and configure Phalanger on IIS 5.. 1 (Windows XP).. Web Server configuration/IIS 6.. - Guide how to install and configure Phalanger on IIS 6.. 0 (Windows Server 2003/Windows XP).. Web Server configuration/IIS 7.. - Guide how to install and configure Phalanger on IIS 7.. 0 (Windows Server 2008 and Windows Vista).. 5.. 5  ...   Guide how to install and configure Phalanger on Apache (2.. X) (Windows).. Linux (using Mono).. Web Server configuration/Apache (Linux)/2.. Guide how to install and configure Phalanger 2.. 0 on Apache (mod_mono, mono-apache-server2).. Installation/3.. 0/Linux.. Guide how to install Mono, Phalanger 3.. 0, web server on Linux.. net/Web_Server_configuration.. This page was last modified 17:27, 5 September 2012.. This page has been accessed 7,978 times..

    Original link path: /Web_Server_configuration
    Open archive

  • Title: Migration/3.0 - PhalangerWiki
    Descriptive info: New version of.. introduced on November 2011 changes the assemblies version to 3.. It uses.. NET runtime version 4.. Before installing.. Namespace syntax.. Referenced assemblies.. IIS 7.. 0+ Web Sites.. 6.. Visual Studio projects.. Before installing.. Uninstall any previous version of Phalanger.. It is possible to keep more versions on the same machines, but only for advanced users.. config files.. See.. configuration.. for more details.. The configuration in 3.. 0 is very the same except versions of assemblies.. In order to use new.. , change following in your local.. config files (app.. config or web.. config):.. Ensure versions of referenced.. NET Framework assemblies.. to.. add assembly= System, Version=4.. 0, Culture=neutral, PublicKeyToken=b77a5c561934e089 /.. Versions of referenced Phalanger assemblies.. (PhpNet*, php_*.. mng) to.. add assembly= php_gd2.. mng, Version=3.. 0, Culture=neutral, PublicKeyToken=4ef6ed87c53048a3 section= gd2 /.. Note: Global configuration files (.. machine.. config.. web.. ) are placed in location according to the.. NET Framework version (e.. c:\Windows\Microsoft.. NET\Framework{64}\v4.. 30319\Config.. ).. If you modified the global configuration, for example if you added some extensions, you have to readd the configuration into the new global.. Namespace syntax.. Previous versions of.. supported namespaces in order to allow.. When the team was designing the namespace support, they took namespace separator from early drafts of PHP 6 (triple-colon).. This was changed in PHP 5.. 3 to backslash.. changes namespace separator to backslash (\) and enables.. use statement.. as it is in PHP 5.. 3.. In order to migrate Phalanger projects using namespaces to version 3.. 0, you have  ...   they can be deleted as well to ensure there are no references to old Phalanger.. Folder is in.. %windir%\Microsoft.. NET\Framework64\v4.. 30319\Temporary ASP.. NET Files.. NET\Framework\v4.. GAC.. Global Assembly Cache.. should not contain any previous version of Phalanger or Phalanger extensions.. Otherwise if you forget to change assembly versions in a configuration file, you will not be notified and you will not actually use new version of Phalanger.. IIS.. 7.. 0+ Web Sites.. Since.. is built on.. NET Framework 4.. 0, ensure the Application Pool hosting your Phalanger website is running on.. NET Framework.. v4.. Open.. Internet Information Services (IIS) Manager.. and select your web application running Phalanger.. Advanced Settings.. and check the.. Application Pool.. you are using.. Select.. Application Pools.. in your IIS Manager and create new one that runs on.. 0 or modify the pool that is running your Phalanger web application.. Visual Studio projects.. If you have some.. phpproj.. Visual Studio project files, created with the previous version of.. , you can migrate the.. files to the integration bundled with.. In order to migrate.. project file, open the.. file in text editor and perform following modifications:.. 0#.. Change the assemblies version.. in the same way as described above in.. section.. Ensure.. ToolsVersion="4.. 0".. attribute in the root node.. Project.. Project ToolsVersion= 4.. 0 DefaultTargets= Build xmlns= http://schemas.. microsoft.. com/developer/msbuild/2003.. Update MSBuild path.. to \3.. 0\:.. Import Project= $(MSBuildExtensionsPath)\Phalanger\3.. 0\Phalanger.. targets /.. net/Migration/3.. This page was last modified 15:11, 2 December 2011.. This page has been accessed 4,364 times..

    Original link path: /Migration/3.0
    Open archive

  • Title: References - PhalangerWiki
    Descriptive info: The list is under construction.. Projects based on Phalanger.. Jadu CMS.. , PHP CMS transformed into.. Ajax-Zoom for.. , powerful PHP/jQuery component enabling image zoom pan gallery with 360-degree rotation option.. Syrinx Community Server.. , Syrinx CS provides a flexible application framework to deploy within a wide range of usage scenarios.. ZennoLab ZennoPoster.. , you can automate for a few minutes any work in the browser that you used to perform manually.. StarCraft 2 Replay Monkey.. , A C# / WPF Starcraft II replay organizer.. StarCraft 2 Parser Ape.. , A Starcraft II replay parser based on phpsc2replay, made in C# Phalanger.. Pharang.. , PHP 5 compiler/runtime based on Phalanger that uses.. 0 Client Profile only.. PicoMvc.. , A thin veneer of F#ness arround several different frameworks to make a light weight Mvc framework.. WpDotNet.. WpDotNet on GitHub.. , WordPress - The most popular CMS - is now running on.. NET/Mono.. Web Sites taking advantage of Phalanger.. A Main Hobbies.. com.. , your one  ...   about Functional Programming.. CouponFollow blog.. - Blog of CouponFollow company using WordPress deployed on.. NET and MSSQL database.. Articles about Phalanger.. PHP compiler blog.. , news and blog posts about Phalanger.. Benchmarks.. , latest benchmark results.. WordPress on.. , Tutorial about migrating WordPress as it is, on.. 0, using Phalanger 2.. TomasP blog.. , Articles and interesting usages.. Phalanger, PHP for.. NET: Introduction for.. NET developers.. , integrating Phalanger 2.. 0 with.. (korean).. Phalanger with the perfect marriage of WebMatrix.. (czech).. Phalanger: postavte si PHP aplikaci pro desktop.. Phalanger: jak postavit vyhledavac pozice webu pro Windows s vyuzitim PHP.. Kompilator PHP - projekt Phalanger.. , Jadu - Technology and research - Phalanger.. Improve PHP Performance with Phalanger for.. NET and Mono.. , Quick post on InfoQ about the increased performance thanks to.. DLR.. Integrating PHP with.. NET Using Phalanger.. , article on InfoQ about Phalanger integration possibilities.. net/References.. This page was last modified 16:15, 14 December 2012.. This page has been accessed 14,366 times..

    Original link path: /References
    Open archive

  • Title: Code Samples - PhalangerWiki
    Descriptive info: Code Samples.. (Redirected from.. Here you can find useful or just interesting demonstration of.. Feel free to try following samples or integrate them into your existing PHP solution.. If you own useful sample you would like to share, please contact us on "info at phpcompiler.. net".. PHP.. NET Interoperability Samples.. Using PHP in.. 2.. Using.. NET in PHP.. Web Site.. NET Interoperability Samples.. Using Phalanger, PHP.. NET can inter-operate in both ways.. You can compile PHP code and use it in C# or other.. NET languages, and also can use all the..  ...   NET in PHP.. Code Samples/Resize image.. - System.. Drawing Resize image.. Code Samples/Compress text file.. - How to compress text file using.. NET GZipStream class.. Code Samples/Download file from Web.. - How to download file from the internet using.. NET WebClient class.. Code Samples/Download file from Web asynchronously.. - Similar to the example above, but the file is downloaded asynchronously and you will be notified using.. NET event handler after download completes.. Windows Forms.. Web Site.. net/Code_Samples.. This page was last modified 00:00, 21 December 2011.. This page has been accessed 12,566 times..

    Original link path: /Code_samples
    Open archive

  • Title: Login required to edit - PhalangerWiki
    Original link path: /index.php?title=Phalanger_Wiki&action=edit§ion=2
    (No additional info available in detailed archive for this subpage)

  • Title: Compilation - PhalangerWiki
    Descriptive info: compiles the PHP source code into native.. NET assemblies.. Resulting assemblies then also use Phalanger in runtime, therefore Phalanger is still needed to be present together with compiled assemblies (see.. manual installation.. for deploying your application without a need of installing Phalanger on target machine).. How to compile.. The compilation occurs in two cases:.. When user compiles its sources using the command line utility.. phpc.. exe.. Automatically on the web server when the first request to non-compiled or changed page occurs.. Deferred compilation.. In several cases, it is not possible to compile everything.. Phalanger analyses the source code and its parts that cannot be compiled are marked as deferred to runtime.. It is then embedded into the resulting assembly and compiled during the run time when it is needed.. The code that is usually deferred to runtime is contained by functions like eval(), create_function() or declaration of a class that has a parent class unknown in compile time.. These cannot produce a valid representation in.. NET assembly since some parts  ...   many benefits:.. Code validation.. The compilation process determines syntactic and semantic errors, warnings and notices already without a need of running and testing the dynamic PHP code first.. Performance enhancements.. The compilation process analyses the code and produces optimized native.. This is then optimized again by the.. NET Just-In-Time compilation that results in native code made exactly for the current CPU architecture.. Compiled assembly can be used within other.. NET languages like C# or F#.. This allows developers to reuse existing PHP code in modern environments.. Signed.. The resulting compiled assembly can be signed and deployed without a need of attaching the source codes.. This allows developers to not share the source code of an application written in PHP, but share the resulting program or website.. Obfuscation Deployment.. Compiled code can be obfuscated and deployed without a need of revealing source code.. You can distribute your PHP application and keep the sources in secret.. net/Compilation.. This page was last modified 05:10, 14 July 2012.. This page has been accessed 5,201 times..

    Original link path: /Compilation
    Open archive

  • Title: PHP - PhalangerWiki
    Descriptive info: PHP:Hypertext Preprocessor.. is widely used scripting.. dynamic language.. It is currently written in C language.. It allows writing of web applications in very simple way; therefore many computer users are able to build their own web page even without a lot of ability of programming itself.. However the language lacks support of modern technologies and their integration.. The dynamic behavior also makes very difficult to optimize the runtime of applications e.. by.. compilation.. Advantages.. PHP is very easy to use.. The dynamic behavior of the language does not require a lot of syntactic overhead in addition to execution code itself.. Small web sites are created almost immediately, since it is very intuitive to add dynamic behavior into existing static pages.. Widespread web application platform.. Disadvantages.. PHP forces programmers to mix several design layers.. It is very common scenario that PHP web sites contain all the page  ...   and it cause to invest a lot more time into testing.. Dynamic behavior allows programmers to break standard programming paradigms.. The same code can behave completely differently.. It flows into unsafe and unclean code.. Phalanger.. Here comes.. ; this PHP compiler/runtime completely rewritten into managed code allows the same users to compile/run/integrate classic PHP applications on modern.. NET platform.. The main purpose of Phalanger is to make PHP language working faster in completely safe environment; moreover with many new features like seamless.. NET integration or compile time code analysis.. Phalanger also allows to compile old PHP source code and use it without any modification together with new applications written in C# language or let programmers use PHP syntax on.. NET platform and write.. NET pages with PHP code behind.. net/PHP.. This page was last modified 23:53, 28 January 2011.. This page has been accessed 3,800 times..

    Original link path: /PHP
    Open archive

  • Archived pages: 798