A multithreaded application server for PHP, written in PHP.

Overview

appserver.io, a PHP application server

Gitter chat FOSSA Status Build Status Scrutinizer Code Quality Code Coverage

This is the main repository for the appserver.io project.

What is appserver.io

appserver.io is a multithreaded application server for PHP, written in PHP. Yes, pure PHP! If you know anything about PHP, you're probably thinking we might be crazy. Well, we aren't. We are dead serious (but we most certainly still love having fun!).

appserver.io overcomes some of the biggest overhead issues most PHP (CGI) programs have in common, through a blazingly fast and rock solid infrastructure and with concepts new to PHP. At the same time, appserver.io offers PHP developers the fundamental core features found in most popular frameworks today, yet not intending to be a framework at all. It is a suprizingly fun infrastructure for PHP development, allowing you to build powerful applications without needing the bulk of a PHP framework.

appserver.io includes great features like...

  • Its own performant Web Server and HTTP foundation.
  • A powerful Servlet Engine, with true multi-threading
  • A Dependency Injection Container, for building modern, modular and testable code
  • Multiple Persistence Containers, for sessions and other stateful components
  • A Message Queue System, for contolling the execution of long running tasks
  • A Timer Service, for running scheduled tasks

and much more.

appserver.io also supports Aspect Oriented Programming (AOP), which is a programming paradigm also found in the most popular frameworks today, like Laravel. AOP allows the separation of cross-cutting concerns within a program, allowing developers to create even more modular systems.

With appserver.io, it is our goal to establish a solution as the next standard for enterprise applications written in PHP. With your help, we can reach this goal.

Give it a try!

License

FOSSA Status

Comments
  • [appserver-io/appserver] Multithreading in Windows

    [appserver-io/appserver] Multithreading in Windows

    Hi there, I installed the windows version of appserver and i have a problem with multithreading. I have a simple php script that runs an exec command and returns the output. I am trying to run this script multiple times concurrently but my requests are processed one by one (serial). I am using another (apache) server to invoke the requests to appserver via multi-curl.

    opened by ndamofli 18
  • [appserver-io/appserver-io-dist/debian] libjpeg.so.8: cannot open shared object file: No such file or directory

    [appserver-io/appserver-io-dist/debian] libjpeg.so.8: cannot open shared object file: No such file or directory

    Looking into https://github.com/appserver-io-dist/debian/blob/master/src/generic/runtime/DEBIAN/control the dependencies seems to be solved when installing libjpeg8 or libjpeg62-turbo. Anyway, installing the (Wheezy) package on Debian Jessie (where libjpeg8 is not available) I get the following error:

    Setting up appserver-dist (1.0.6-37) ...
    /opt/appserver/bin/php: error while loading shared libraries: libjpeg.so.8: cannot open shared object file: No such file or directory
    dpkg: error processing package appserver-dist (--configure):
     subprocess installed post-installation script returned error exit status 127
    Processing triggers for libc-bin (2.19-18+deb8u1) ...
    Errors were encountered while processing:
     appserver-dist
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    

    It looks like /opt/appserver/bin/php is dymanical linked against libjpeg.so.8 which is provided by libjpeg8.

    bug 
    opened by waja 14
  • [appserver-io/server] Problems with file uploads > 1MB

    [appserver-io/server] Problems with file uploads > 1MB

    There seems to be a problem with file uploads for files bigger than 1MegaByte. Posted example code to reproduce the error looks as following:

    <!DOCTYPE html>
    <html>
    
    <head>
    <title></title>
    </head>
    
    <body>
    
    <form enctype="multipart/form-data" method="post" name="fileinfo" action="mailer/m.php">
    
    <input type="file" name="field-file" required />
    <br>
    <input type="submit" value="submit" />
    
    </form>
    <div></div>
    
    </body>
    
    </html>
    
    <?php
        $uploads_dir = "./sample_upload";
        $upload_error = 0;
        $fileName = $_FILES['field-file']['name'];
        $fileType = $_FILES['field-file']['type'];
        $tmp_name = $_FILES['field-file']["tmp_name"];
        $err_ok = $_FILES['field-file']['error'];
        if ( $err_ok != UPLOAD_ERR_OK ) 
            $upload_error = 1;
        if ( !$upload_error ) {
            $codedFilename = time()."_". basename( $fileName );
            $stored_file = $uploads_dir ."/".$codedFilename;
            if ( !move_uploaded_file( $tmp_name , $stored_file ) ) 
                $upload_error = 2;
        }
        if($upload_error) {
            if ($upload_error === 1) 
                $err_msg = "(1 - ".codeToMessage($err_ok).")"; else $err_msg = "(2)";
            echo "Error upload screenshot :: err $err_msg";
            exit;
        }
        echo "File uploaded";
    
        function codeToMessage($code)
        {
            switch ($code) {
                case UPLOAD_ERR_INI_SIZE:
                   $message = "The uploaded file exceeds the upload_max_filesize directive in php.ini";
                break;
                case UPLOAD_ERR_FORM_SIZE:
                    $message = "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form";
                    break;
                case UPLOAD_ERR_PARTIAL:
                    $message = "The uploaded file was only partially uploaded";
                break;
                case UPLOAD_ERR_NO_FILE:
                    $message = "No file was uploaded";
                break;
                case UPLOAD_ERR_NO_TMP_DIR:
                    $message = "Missing a temporary folder";
                break;
                case UPLOAD_ERR_CANT_WRITE:
                    $message = "Failed to write file to disk";
                break;
                case UPLOAD_ERR_EXTENSION:
                    $message = "File upload stopped by extension";
                break;
                default: 
                    $message = "Unknown upload error"; 
                break; 
            } 
            return $message; 
        }
    
    bug 
    opened by wick-ed 12
  • [legal] Can I develop fully commercial and paid CMS on appserver.io?

    [legal] Can I develop fully commercial and paid CMS on appserver.io?

    I saw that your project uses OSL. But it is not clear for me whether I can develop web applications like CMS and CRM using (linking) appserver.io and take patent for my derivate work and sell licenses for my applications?

    Also I could not understand will I have to distribute appserver.io with my app or not. The reason why I am asking this question is that no php application is distributed with apache, but how about appserver.io case?

    question legal 
    opened by fazliddin 10
  • PDO Exception

    PDO Exception

    Hi guys,

    sorry to bother you again, but another issue raised up:

    I would simply like to query my MySql project database in my service proxy object following your example project. The code looks like this:

    $em = $this->getEntityManager();
    $r = $em->getRepository('n3rds\MyProject\Entity\User');
    $userEntity = $r->findOneBy(array("email" => $emailAddress));
    

    But when executing the findOneBy-method I get this error in appserver-errors.log:

    [2014-07-17 17:46:42] system.ERROR: exception 'PDOException' with message 'You cannot serialize or unserialize PDO instances' in /opt/appserver/app/code/vendor/techdivision/persistencecontainerprotocol/src/TechDivision/PersistenceContainerProtocol/RemoteMethodProtocol.php:136 Stack trace: #0 [internal function]: PDO->__sleep() #1 /opt/appserver/app/code/vendor/techdivision/persistencecontainerprotocol/src/TechDivision/PersistenceContainerProtocol/RemoteMethodProtocol.php(136): serialize(Object(Exception)) #2 /opt/appserver/app/code/vendor/techdivision/persistencecontainerprotocol/src/TechDivision/PersistenceContainerProtocol/ConnectionHandler.php(187): TechDivision\PersistenceContainerProtocol\RemoteMethodProtocol::pack(Object(Exception)) #3 /opt/appserver/app/code/vendor/techdivision/server/src/TechDivision/Server/Workers/ThreadWorker.php(261): TechDivision\PersistenceContainerProtocol\ConnectionHandler->handle(Object(TechDivision\Server\Sockets\StreamSocket), Object(TechDivision\Server\Workers\ThreadWorker)) #4 /opt/appserver/app/code/vendor/techdivision/server/src/TechDivision/Server/Workers/ThreadWorker.php(186): TechDivision\Server\Workers\ThreadWorker->work() #5 [internal function]: TechDivision\Server\Workers\ThreadWorker->run() #6 {main} [] {"file":"/opt/appserver/app/code/vendor/techdivision/server/src/TechDivision/Server/Workers/ThreadWorker.php","line":269,"class":"TechDivision\\Server\\Workers\\ThreadWorker","function":"work"}
    

    I inspected the repository object dump, it looks ok to me... Probably the reason for this error is located somewhere in my code, but I really have no idea and double checked everything... Maybe you have a tip that could help me out of this...

    Thanks! Eddie

    question 
    opened by n3rds-eddie 9
  • Unable to build from source using installation guide

    Unable to build from source using installation guide

    git clone https://github.com/appserver-io/appserver.git
    cd ./appserver
    ➜ ant build
    Buildfile: /home/tony/appserver/build.xml
    
    BUILD FAILED
    Target "build" does not exist in the project "appserver-io/appserver". 
    
    Total time: 0 seconds
    
    ➜ ant deploy 
    Buildfile: /home/tony/appserver/build.xml
    
    copy:
    
    BUILD FAILED
    /home/tony/appserver/build.xml:95: The following error occurred while executing this line:
    Target "prepare" does not exist in the project "appserver-io/appserver". 
    
    Total time: 0 seconds
    

    ➜ uname -a Linux hs 4.19.0-5-amd64 #1 SMP Debian 4.19.37-6 (2019-07-18) x86_64 GNU/Linux

    opened by a2nt 8
  • [appserver-io/http] HTTP request parsing doen't work for URIs containing Umlauts

    [appserver-io/http] HTTP request parsing doen't work for URIs containing Umlauts

    I couldn't find where exactly the problem is, but the appserver seems to work strange on urls with umlaut filenames: test.dev/mürks.txt becomes test.dev/m&uuml;rks.txt even a rewrite rule with <rewrite condition="-d{OR}-f{OR}-l" target="" flag="L" /> doesn't work.

    bug 
    opened by 2case 8
  • [appserver-io/appserver] DocumentRoot must be within webapps folder

    [appserver-io/appserver] DocumentRoot must be within webapps folder

    There have been several reports that configured document roots which are not located within the webapps directory result in unexpected behavior. This seems to be related to servlets only so far.

    Apps which are symlinked into the webapps directory e.g. with example -> /home/wick-ed/Workspace/example/src/ do produce a 404 if the php-fpm FasCGI backend tries to handle the issue.

    bug 
    opened by wick-ed 8
  • Can't override init() method

    Can't override init() method

    I can't override the method init(); when I did that and restart the service(windows) not reply my http requests. I have to delete this code and restart again the service for it works. Does not work with the sample code of the website. I tried to use web.xml, but if I use it, don't found my servlets. ServletNotFoundException bla, bla, bla.

    <servlet>
        <description>Login</description>
        <display-name>Login</display-name>
        <servlet-name>loginServlet</servlet-name>
        <servlet-class>\vendor\test\LoginServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>loginServlet</servlet-name>
        <url-pattern>/login.do</url-pattern>
    </servlet-mapping>
    

    I see in the example the same relative url, but doesn't work. I don't know what is wrong. If i use annotation it works, but init() method not.

    opened by hanschrome 8
  • Errorcode

    Errorcode "61 unassigned" after restarting OS

    Hi there! I noticed some curious effects: After restarting the OS no PHP-files can be opened in the browser directly. Changing file permissions with server.php -s dev/prod (or even manually) does not have any effects. Reinstalling appserver gives access to PHP-files again. Error is thrown in line 156 of: /opt/appserver/vendor/appserver-io/webserver/src/AppserverIo/WebServer/Modules/FastCgiModule.php

    opened by ahoffmeyer 8
  • [appserver-io-php/runtime] ODROID-XU4 ARMv71 appserver.io build

    [appserver-io-php/runtime] ODROID-XU4 ARMv71 appserver.io build

    Hello! I use a computer with a processor ARMv71 and operating system Ubuntu-Server 14.04 LTS as I gather appserver.io for the platform? You have on the site are mainly the binaries as I can gather this system from source code or in part, from packages?

    question documentation stale 
    opened by kkeker 7
  • Question: swoole and hyperf exist, what does this project aim to do

    Question: swoole and hyperf exist, what does this project aim to do

    Hello, forgive my rudeness, but I've to ask this out of sheer curiosity. After trying this project out, reading what's on your website and being aware of tools such as swooleand hyperf, I must wonder - what problem does this project solve? It looks like it's entirely subpar to the two projects I linked, does it even make sense to continue pursuing it? It resembles Java's servlets, a backwards technology that introduced more issues than it helped.. am I missing something obvious here? Performance-wise, swoole and hyperf are about 50 times faster on the same workload as this project, so the catch-phrase that it's next-generation is entirely misleading. Is this a school project by any chance?

    I didn't want to offend anyone, these are genuine questions I've got. I can tell a lot of work went into creating this project, but it looks like it's already outdated and not needed.

    opened by nikola-b 1
  • Error when injecting legacy classes with an optional interface type hint

    Error when injecting legacy classes with an optional interface type hint

    When trying to load an instance of a legacy class that has not been registered in the appserver.io DI container with an optional interface type hint like

        public function __construct(ChoiceListFactoryInterface $choiceListFactory = null)
        {
            $this->choiceListFactory = $choiceListFactory ?: new CachingFactoryDecorator(
                new PropertyAccessDecorator(
                    new DefaultChoiceListFactory()
                )
            );
        }
    

    the following exception occurs

    [2019-04-29 20:58:40] - Tims-MacBook-Pro.local (error): AppserverIo\Appserver\DependencyInjectionContainer\NotFoundException {#21178
      #message: "DI error when try to inject dependencies for identifier "TechDivision\Project\Symfony\Bridge\Extension\Core\Type\ChoiceType""
      #code: 0
      #file: "/Users/wagnert/Workspace_Idea/appserver-io/appserver/src/AppserverIo/Appserver/DependencyInjectionContainer/Provider.php"
      #line: 581
      -previous: AppserverIo\Appserver\DependencyInjectionContainer\NotFoundException {#21186
        #message: "DI definition for identifier "Symfony\Component\Form\ChoiceList\Factory\ChoiceListFactoryInterface" is not available"
        #code: 0
        #file: "/Users/wagnert/Workspace_Idea/appserver-io/appserver/src/AppserverIo/Appserver/DependencyInjectionContainer/Provider.php"
        #line: 586
        trace: {
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/src/AppserverIo/Appserver/DependencyInjectionContainer/Provider.php:586 {
            ›     // throw an exception if no entry was found for **this** identifier
            ›     throw new NotFoundException(sprintf('DI definition for identifier "%s" is not available', $id));
            › }
          }
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/src/AppserverIo/Appserver/DependencyInjectionContainer/Provider.php:356 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/src/AppserverIo/Appserver/DependencyInjectionContainer/Provider.php:571 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/Extension/DependencyInjection/DependencyInjectionExtension.php:65 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/FormRegistry.php:78 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/FormFactory.php:74 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Symfony_Bridge_FormFactory.php:72 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Symfony_Bridge_FormFactory.php:175 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Symfony_Bridge_FormBuilder.php:60 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Symfony_Bridge_FormBuilder.php:129 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/FormBuilder.php:269 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/FormBuilder.php:215 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/Extension/Core/Type/CollectionType.php:40 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/ResolvedFormType.php:126 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/FormFactory.php:80 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Symfony_Bridge_FormFactory.php:49 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Symfony_Bridge_FormFactory.php:175 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/FormFactory.php:38 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/Form.php:863 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Form_Subscriber_AccessControlSubscriber.php:106 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Form_Subscriber_AccessControlSubscriber.php:247 { …}
          TechDivision\Project\Form\Subscriber\AccessControlSubscriber->enforceAccessControl() {}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/event-dispatcher/EventDispatcher.php:212 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/event-dispatcher/EventDispatcher.php:44 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php:33 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/Form.php:339 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/Form.php:487 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/FormBuilder.php:226 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Actions_AbstractFormAction.php:223 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Actions_AbstractFormAction.php:1334 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Actions_AbstractFormAction.php:509 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Actions_AbstractFormAction.php:1961 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/appserver-io/routlt/src/AppserverIo/Routlt/DispatchAction.php:87 { …}
          /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/appserver-io/routlt/src/AppserverIo/Routlt/ControllerServlet.php:533 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/src/AppserverIo/Appserver/ServletEngine/ServletValve.php:57 { …}
          /Users/wagnert/Workspace_Idea/appserver-io/appserver/src/AppserverIo/Appserver/ServletEngine/RequestHandler.php:173 { …}
        }
      }
      trace: {
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/src/AppserverIo/Appserver/DependencyInjectionContainer/Provider.php:581 {
          › } catch (\Exception $e) {
          ›     throw new NotFoundException(sprintf('DI error when try to inject dependencies for identifier "%s"', $id), null, $e);
          › }
        }
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/Extension/DependencyInjection/DependencyInjectionExtension.php:65 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/FormRegistry.php:78 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/FormFactory.php:74 { …}
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Symfony_Bridge_FormFactory.php:72 { …}
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Symfony_Bridge_FormFactory.php:175 { …}
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Symfony_Bridge_FormBuilder.php:60 { …}
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Symfony_Bridge_FormBuilder.php:129 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/FormBuilder.php:269 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/FormBuilder.php:215 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/Extension/Core/Type/CollectionType.php:40 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/ResolvedFormType.php:126 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/FormFactory.php:80 { …}
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Symfony_Bridge_FormFactory.php:49 { …}
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Symfony_Bridge_FormFactory.php:175 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/FormFactory.php:38 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/Form.php:863 { …}
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Form_Subscriber_AccessControlSubscriber.php:106 { …}
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Form_Subscriber_AccessControlSubscriber.php:247 { …}
        TechDivision\Project\Form\Subscriber\AccessControlSubscriber->enforceAccessControl() {}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/event-dispatcher/EventDispatcher.php:212 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/event-dispatcher/EventDispatcher.php:44 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php:33 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/Form.php:339 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/Form.php:487 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/symfony/form/FormBuilder.php:226 { …}
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Actions_AbstractFormAction.php:223 { …}
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Actions_AbstractFormAction.php:1334 { …}
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Actions_AbstractFormAction.php:509 { …}
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/var/tmp/localhost/td-project/cache/TechDivision_Project_Actions_AbstractFormAction.php:1961 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/appserver-io/routlt/src/AppserverIo/Routlt/DispatchAction.php:87 { …}
        /Users/wagnert/Workspace_Idea/techdivision/td-project/src/vendor/appserver-io/routlt/src/AppserverIo/Routlt/ControllerServlet.php:533 { …}
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/src/AppserverIo/Appserver/ServletEngine/ServletValve.php:57 { …}
        /Users/wagnert/Workspace_Idea/appserver-io/appserver/src/AppserverIo/Appserver/ServletEngine/RequestHandler.php:173 { …}
      }
    }
    
    bug 
    opened by wagnert 0
  • [appserver-io/doppelgaenger] Proxy-Generator generates wrapper method for constructor

    [appserver-io/doppelgaenger] Proxy-Generator generates wrapper method for constructor

    The Proxy-Generator generates wrapper methods for the __construct() method like

        public function __constructDOPPELGAENGEROriginal(PropertiesInterface $settings, SoapClientWrapper $soapClientWrapper)
        {
            parent::__construct($settings);
            $this->injectSoapClientWrapper($soapClientWrapper);
        }
    

    which leads to strict notice like

    PHP Strict: Declaration of UserAdminAssembler::__constructDOPPELGAENGEROriginal() should be compatible with AbstractAssembler::__constructDOPPELGAENGEROriginal(AppserverIo\Properties\PropertiesInterface $settings) in ...
    

    Generally no wrapper for the constructor has to be generated, or if really necessary/sensfull, the strict notice has to be avoided.

    opened by wagnert 0
  • [appserver-io/doppelgaenger] Generation Issue

    [appserver-io/doppelgaenger] Generation Issue

    Having a comment like // Fix "\JiraRestApi\JsonMapperHelper::class" syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in a class constructor results in generation errors.

    bug compliance 
    opened by wagnert 0
Releases(1.1.29)
  • 1.1.26(Sep 3, 2019)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release aims at providing a more streamlines build infrastructure by moving our builds to Travis-CI. Consider this a test.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.26!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • None

    Features

    • Introduced Travis-CI based builds
    Source code(tar.gz)
    Source code(zip)
    appserver-dist_1.1.26-1664.deb9_amd64.deb(165.90 MB)
    appserver-runtime_1.1.12-172.deb9_amd64.deb(194.45 MB)
  • 1.1.25(Aug 28, 2019)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release aims at providing a more streamlines build infrastructure. By moving our builds to Travis-CI. Consider this a test.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.25!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • None

    Features

    • Introduced Travis-CI based builds
    Source code(tar.gz)
    Source code(zip)
  • 1.1.24(Jun 26, 2019)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.23!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Pre-Initialize LDAP configuration encryption parameter

    Features

    • Add Doctrine cache factories for APCu and Filesystem
    • Update to appserver-io/description version 13.0.1
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.24.phar(25.60 MB)
  • 1.1.23(Jun 22, 2019)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.23!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • None

    Features

    • Extend error handling with exception support
    • Add encryption support for LDAP functionality
    • Update to appserver-io/ldap version 3.0.*
    • Update to appserver-io/description version 33.0.*
    • Update to appserver-io/provisioning version 2.0.*
    • Update to appserver-io-psr/cli version 2.0.*
    • Update to appserver-io-psr/application-server version 2.0.*
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.23.phar(25.60 MB)
  • 1.1.22(May 23, 2019)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.22!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Fixed concurrent session errors

    Features

    • Update to appserver-io/ldap version 2.0.1
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.22.phar(70.07 MB)
  • 1.1.21(May 23, 2019)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.21!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Fixed #1120

    Features

    • Add Doctrine like LDAP integration (see https://github.com/appserver-io/ldap)
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.21.phar(25.56 MB)
  • 1.1.20(Feb 19, 2019)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.20!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Fixed issue with invald constructor generation for bean proxies
    • Fixed invalid order of hook invocation when initializing application

    Features

    • None
    Source code(tar.gz)
    Source code(zip)
  • 1.1.19(Feb 19, 2019)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.19!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Update to appserver-io/description version 12.0.4 to fix error when session inactivity timeout ingores session lifetime

    Features

    • None
    Source code(tar.gz)
    Source code(zip)
  • 1.1.18(Nov 7, 2018)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.18!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Update to appserver-io/description version 12.0.3 (reset to version 12.0.0)

    Features

    • None
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.18.phar(25.22 MB)
  • 1.1.17(Nov 7, 2018)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.17!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Make sure overriding an references from a deployment descriptors will be taken into account

    Features

    • Update to appserver-io/description version 12.0.2
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.17.phar(25.22 MB)
  • 1.1.16(Nov 4, 2018)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.16!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Also shutdown garbage collector for startup beans on BeanManager::stop() method

    Features

    • Update to appserver-io/description version 12.0.1
    • Switch to appserver-io-psr/servlet version 4.1.*
    Source code(tar.gz)
    Source code(zip)
  • 1.1.15(Sep 14, 2018)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.15!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Add missing GeneratorThread::getDefaultLogFormat() method
    • Initialize environment before invoking QueueManager::initialize() method
    • Register annotation registries before invoking the ServletManager::postStartup() method

    Features

    • Separate provisioning functionality mainly to appserver-io/provisioning library
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.15.phar(25.25 MB)
  • 1.1.13(Aug 25, 2018)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.13!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Add missing session file locking
    • Fix error in session handling that forces unnecessary multiple session persisting

    Features

    • None
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.13.phar(25.15 MB)
  • 1.1.12(Aug 5, 2018)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.12!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Add member contextNode and getter to Application class
    • Add improved error handling the appserver-io/doppelgaenger GeneratorThread
    • Refactor StandardSessionMarshaller to use array instead of \stdClass when persisting session data
    • Servlets will now be initialized in ServletManager::postStartup() instead of ServletManager::registerServlet() method

    Features

    • None
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.12.phar(25.14 MB)
  • 1.1.11(Jul 19, 2018)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.11!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Remove configuration for application specific Doctrine Annotation registries from context.xml

    Features

    • None
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.11.phar(25.14 MB)
  • 1.1.10(Jul 18, 2018)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.10!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • None

    Features

    • Add configuration option for Doctrine repository factory + repository default class
    • Remove appserver-io/routlt library (has to be addes as dependency to your project)
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.10.phar(25.14 MB)
  • 1.1.7(Jun 22, 2018)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.6!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • None

    Features

    • Switch to appserver-io/logger version 2.0.* and appserver-io/application version 1.5.*
    • Add postStartup() lifecycle callback to managers to allow actions after the application has been connected
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.7.phar(25.46 MB)
  • 1.1.6(Jun 18, 2018)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.6!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Fixed issue with blocking timer threads

    Features

    • None
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.6.phar(25.43 MB)
  • 1.1.5(Jun 5, 2018)

    As of massive overhead to release a Mac OS X, Windows and several Linux versions, we decided to deliver future appserver.io 1.1.x versions as Docker containers only!

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.5!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Fixed bug with invalid session handling in provisioning
    • Fixed bug with invalid session data leading to a 500 without error page rendered
    • Make protected function in Threads/Stackables public to avoid unnecessary locking
    • Remove invalid parameter sessionId when invoking ServletManager::lookup() from ServletManager::locate() method

    Features

    • Switch to latest runtime with PHP version 5.6.35
    • Allow DI usage in provisioning steps
    • Extend DI functionality for method invocation on instanciated objects
    • Refactor DI integration for compatibility with psr/container
    • Refactor logger integration, switch to function usage instead of loading logger instances via application or initial context
    • Clean-Up log messages during appserver/application bootstrap process
    • Switch to VarDumpertFormatter for system logger to allow logging ALL instances, including recursive ones and passing objects without converting them to strings
    • Add helper functions for all log levels (alert, info, debug etc.) to make logging more comfortable
    • Register environment in BeanManager::initialize() and Job::run() methods to allow usage of short logging functions
    • Refactor StandardSecurityManager to make configuration of security constraints simpler
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.5.phar(25.62 MB)
  • 1.1.5-beta10(May 18, 2018)

    Attention: The PHAR file is NOT a binary that can be executed, it only contains the sources that can be used for code completion in your project.

    Bugfixes

    • None

    Features

    • Remove appserver-io/console from appserver distribution => has to be deliverd with the application
    • Move persistence unit descriptor interfaces and implementations to appserver-io/description
    • Move descriptor configuration to appserver-io-psr/epb and implementation to appserver-io/description
    • Extract interfaces from appserver-io/appserver to appserver-io-psr/cli and appserver-io-psr/application-server
    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.5-beta10.phar(25.60 MB)
  • 1.1.5-beta9(May 11, 2018)

  • 1.1.5-beta8(May 7, 2018)

  • 1.1.5-beta7(May 3, 2018)

    Attention: The PHAR file is NOT a binary that can be executed, it only contains the sources that can be used for code completion in your project.

    Version 1.1.5-beta7

    Bugfixes

    • None

    Features

    • Switch to appserver-io/console 3.0 to add command to load Doctrine Fixtures
    • Temporary persist entity manager names in PersistenceManager instance to allow loading an applications default entity manager by name

    Version 1.1.5-beta6

    Bugfixes

    Source code(tar.gz)
    Source code(zip)
    appserver-1.1.5-beta7.phar(34.46 MB)
  • 1.1.5-beta6(May 3, 2018)

  • 1.1.4(Jun 9, 2017)

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.3!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page
    • Also have a look at our Docker images on docker hub

    Bugfixes

    • Fixed invalid use statement for RequestHandlerKeys in error.dhtml template
    • Fixed that conditions based on per-request operands do not get cached aggressively anymore
    • Fixed that rewrite rules do not forward their result to the next rule in the stack
    • Remove invalid MySQL configuration from supervisor configuration file
    • Add necessary use statement for SecurityException
    • Fixed invalid user/group for PHP-FPM in Dockerfile
    • Run PHP-FPM in Docker container as root
    • Define react/dns version 0.4.4 to avoid Cannot redeclare React\Promise\Timer\timeout()
    • Define react/socket version 0.4.*
    • Fixed issue in CronScanner that prevents running multiple jobs within the same schedule
    • Fixed invalid references to old DI interfaces/exceptions
    • Remove invalid class loader re-registration from TimerServiceRegistry::initialize() method

    Features

    • Use Robo for build process
    • Extract security + authentication functionality to separate libraries
    • Add new LdapLoginModule to allow authentication against an OpenLDAP server
    • Invoke @PreAttach + @PostDetach lifecycle callbacks on SSB
    • Add Doctrine a PSR-4 annotation registry implementation with support for PSR-4 class loading
    • Append system properties webapp and webapp.name when parsing datasource XML files
    Source code(tar.gz)
    Source code(zip)
    appserver-dist-1.1.4-26.el7.centos.x86_64.rpm(8.07 MB)
    appserver-dist-1.1.4-26.fc22.x86_64.rpm(8.08 MB)
    appserver-dist-1.1.4-55.fc21.x86_64.rpm(8.08 MB)
    appserver-dist_1.1.4-129-deb7_amd64.deb(8.74 MB)
    appserver-dist_1.1.4-135_x86.exe(62.44 MB)
    appserver-dist_1.1.4-135_x86.jar(38.65 MB)
    appserver-dist_1.1.4-212_x86_64.pkg(46.26 MB)
    appserver-dist_1.1.4-69-deb8_amd64.deb(5.53 MB)
    appserver-runtime-1.1.7-24.fc22.x86_64.rpm(31.08 MB)
    appserver-runtime-1.1.7-35.el7.centos.x86_64.rpm(30.91 MB)
    appserver-runtime-1.1.7-57.fc21.x86_64.rpm(31.18 MB)
    appserver-runtime_1.1.7-100-deb7_amd64.deb(42.09 MB)
    appserver-runtime_1.1.7-45-deb8_amd64.deb(25.37 MB)
  • 1.1.3(Oct 8, 2016)

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.3!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page

    Bugfixes

    • Closed #881 - EntityManager instance gets nulled
    • Closed #941 - Problems with file uploads > 1MB
    • Closed #1029 - Servlet Engine not starting, when an application registers the same datasource
    • Fixed invalid class name in RedisCacheFactory in Doctrine configuration

    Features

    • Closed #771 - Include a .editorconfing file to help enforce coding standards
    • Closed #840 - URL Routes according to REST defacto standard
    • Closed #1018 - Pass environment variable to virtual-hosts.xml
    • Closed #1028 - Configuration from 'META-INF/containers.xml' is not merged completely
    • Add serverVersion and platform parameters to Doctrine configuration
    • Allow to override loggers from etc/appserver/conf.d/context.xml with loggers from META-INF/context.xml
    • Adding functionality to activate Doctrine production mode and allow cache configuration
    • Add crunch/fastcgi 2.x branch as Composer dependency
    • Throw an exception if FileSystem::chown() method fails
    • Refactor FileSystem utility to use internal FileSystem::chown() method instead of \chown()
    • Switched to runtime 1.1.6 with PHP 5.6.25
    Source code(tar.gz)
    Source code(zip)
    appserver-dist-1.1.3-21.fc22.x86_64.rpm(7.36 MB)
    appserver-dist-1.1.3-22.el7.centos.x86_64.rpm(7.35 MB)
    appserver-dist-1.1.3-48.fc21.x86_64.rpm(7.36 MB)
    appserver-dist_1.1.3-125-deb7_amd64.deb(7.87 MB)
    appserver-dist_1.1.3-129_x86.exe(61.40 MB)
    appserver-dist_1.1.3-129_x86.jar(37.65 MB)
    appserver-dist_1.1.3-200_x86_64.pkg(45.28 MB)
    appserver-dist_1.1.3-66-deb8_amd64.deb(5.04 MB)
    appserver-runtime-1.1.6-23.fc22.x86_64.rpm(31.00 MB)
    appserver-runtime-1.1.6-33.el7.centos.x86_64.rpm(30.84 MB)
    appserver-runtime-1.1.6-56.fc21.x86_64.rpm(31.10 MB)
    appserver-runtime_1.1.6-44-deb8_amd64.deb(25.31 MB)
    appserver-runtime_1.1.6-97-deb7_amd64.deb(41.97 MB)
  • 1.1.2(Jul 1, 2016)

    This release provides bugfixes and updates.

    We STRONGLY recommend, that you have a look at our upgrade guide, before upgrading your installation to 1.1.2!

    Notes

    • Please be aware, that our Mac OS X installer actually is NOT aware of changes you've made to your configuration files. So it is necessary to BACKUP all configuration files you've customized, to not loose your changes.
    • For detailed installation instructions look at our documentation
    • Linux packages are split in runtime and distribution packages. So please install both of them. Runtime packages provide appserver-runtime which the appserver-dist package depends on
    • For bleeding edge development builds, check our developer builds page

    Bugfixes

    • Removed PhpModule from appserver configuration files
    • Fixed random startup problems, occuring when container start's faster than configured servers

    Features

    • Add Rout.Lt package to appserver.io distribution
    • Refactoring Runlevel integration to work with PHP 7 and pthreads 3.x
    • Switched to runtime 1.1.5 with PHP 5.6.23 and always_populate_raw_post_data to -1 in all PHP ini files
    Source code(tar.gz)
    Source code(zip)
    appserver-dist-1.1.2-18.fc22.x86_64.rpm(7.21 MB)
    appserver-dist-1.1.2-20.el7.centos.x86_64.rpm(7.21 MB)
    appserver-dist-1.1.2-45.fc21.x86_64.rpm(7.21 MB)
    appserver-dist_1.1.2-122-deb7_amd64.deb(7.75 MB)
    appserver-dist_1.1.2-127_x86.exe(61.33 MB)
    appserver-dist_1.1.2-127_x86.jar(37.54 MB)
    appserver-dist_1.1.2-188_x86_64.pkg(45.11 MB)
    appserver-dist_1.1.2-59-deb8_amd64.deb(4.96 MB)
    appserver-runtime-1.1.5-22.fc22.x86_64.rpm(30.95 MB)
    appserver-runtime-1.1.5-32.el7.centos.x86_64.rpm(30.77 MB)
    appserver-runtime-1.1.5-55.fc21.x86_64.rpm(31.03 MB)
    appserver-runtime_1.1.5-43-deb8_amd64.deb(25.26 MB)
    appserver-runtime_1.1.5-95-deb7_amd64.deb(41.87 MB)
Owner
appserver.io
Multithreaded PHP application server
appserver.io
🤯 High-performance PHP application server, load-balancer and process manager written in Golang

RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager. It supports running as a serv

Spiral Scout 6.9k Jan 3, 2023
FrankenPHP is a modern application server for PHP built on top of the Caddy web server

FrankenPHP: Modern App Server for PHP FrankenPHP is a modern application server for PHP built on top of the Caddy web server. FrankenPHP gives superpo

Kévin Dunglas 2.8k Jan 2, 2023
jojo, another http server written in PHP 8.0

جوجو | jojo جوجو، وب‌سروری در ابعاد جوجه برای کارهای کوچک داستان نوشتن جوجو وب‌سروری که تنظیمات مودم TP-link TD-8811 توی اتاقم رو serve میکنه اسمش mic

Amirhossein Baghaie 6 Dec 25, 2022
Socks5 proxy server written in Swoole PHP

php-socks This is a Socks5 proxy server implementation built with PHP & Swoole. To start the proxy server, clone this repo, run composer install to in

Nazmul Alam 3 Jan 23, 2022
TCP Worker Client for RoadRunner 2.0 application server

RoadRunner TCP Plugin RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager. It supp

Spiral Scout 8 Nov 26, 2022
This package provides a high performance HTTP server to speed up your Laravel/Lumen application based on Swoole.

This package provides a high performance HTTP server to speed up your Laravel/Lumen application based on Swoole.

Swoole Taiwan 3.9k Jan 8, 2023
A sample CakePHP api application using CakeDC/cakephp-api and swoole as server

CakePHP Application Skeleton composer create-project --prefer-dist cakephp/app Added sample data using https://github.com/annexare/Countries Created m

Marcelo Rocha 3 Jul 28, 2022
Fast php framework written in c, built in php extension

Yaf - Yet Another Framework PHP framework written in c and built as a PHP extension. Requirement PHP 7.0+ (master branch)) PHP 5.2+ (php5 branch) Inst

Xinchen Hui 4.5k Dec 28, 2022
💫 Vega is a CLI mode HTTP web framework written in PHP support Swoole, WorkerMan / Vega 是一个用 PHP 编写的 CLI 模式 HTTP 网络框架,支持 Swoole、WorkerMan

Mix Vega 中文 | English Vega is a CLI mode HTTP web framework written in PHP support Swoole, WorkerMan Vega 是一个用 PHP 编写的 CLI 模式 HTTP 网络框架,支持 Swoole、Work

Mix PHP 46 Apr 28, 2022
Asynchronous server-side framework for network applications implemented in PHP using libevent

phpDaemon https://github.com/kakserpom/phpdaemon Asynchronous framework in PHP. It has a huge number of features. Designed for highload. Each worker i

Vasily Zorin 1.5k Nov 30, 2022
Simple live support server with PHP Swoole Websocket and Telegram API

Telgraf Simple live support server with PHP Swoole Websocket and Telegram API. Usage Server Setup Clone repository with following command. git clone h

Adem Ali Durmuş 6 Dec 30, 2022
Framework for building extensible server-side progressive applications for modern PHP.

Chevere ?? Subscribe to the newsletter to don't miss any update regarding Chevere. Framework for building extensible server-side progressive applicati

Chevere 65 Jan 6, 2023
Simple WebSocket server implemented in PHP.

Bloatless PHP WebSockets Simple WebSocket server implemented in PHP. Installation Requirements Installation procedure Usage Server Applications Timers

bloatless.org 556 Dec 25, 2022
PHP Web Socket server

Important ⛔️ This project is no longer maintained ⛔️ We urge you to look for a replacement. Description WebSocket Server and Client library for PHP. W

Chris Tanaskoski 346 Nov 8, 2022
A server side alternative implementation of socket.io in PHP based on workerman.

phpsocket.io A server side alternative implementation of socket.io in PHP based on Workerman. Notice Only support socket.io v1.3.0 or greater. This pr

walkor 2.1k Jan 6, 2023
PHP Websocket Server that is compatible with socket.io

PHP SocketIO Server PHP Websocket Server that is compatible with socket.io So far the function use in this package is almost same with the naming in s

Cydrick Nonog 7 Dec 21, 2022
A pocketmine-mp server that we develop live on Twitch every Saturday from 8pm to 10pm (FR)

Server A pocketmine-mp server that we develop live on Twitch every Saturday from 8pm to 10pm (FR) Contributing Pull requests are welcome. For major ch

Gaëtan H 11 Oct 9, 2022
Phpactor Language Server

This package provides a platform for building a Language Server according to the Language Server Specification

Phpactor 27 Dec 24, 2022
A easy way to install your basic yii projetc, we have encrypt database password in phpfile, my class with alot funtions to help you encrypt and decrypt and our swoole server install just run ./yii swoole/start and be happy!

Yii 2 Basic Project Template with swoole and Modules Yii 2 Basic Project Template is a skeleton Yii 2 application best for rapidly creating small proj

null 3 Apr 11, 2022