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
Profiles HTTP/SOCKS proxy(s) as multithreaded in seconds.

NextGen Proxy Profiler The scanner (proxyprof) scans and analyzes http/https/socks4/socks5 proxies quickly. It can complete thousands of proxy scans i

Özgür Koca 4 Nov 15, 2022
Minimalistic bookmark manager for your own server written in PHP. Bookmarks are stored in a sqlite database.

b - Bookmark manager b is a minimalistic bookmark manager for your own server. Written in PHP. Bookmarks are stored in a sqlite database. Features: fi

Sebastian Volland 48 Jan 6, 2023
An open-source Minecraft: Java Edition server implementation, written in PHP.

PHPCraft An open-source Minecraft: Java Edition server implementation, written in PHP. What is PHPCraft? PHPCraft is an open-source Minecraft: Java Ed

Karen/あけみ 17 Dec 31, 2022
Blessing Skin update server, written in PHP.

Blessing Skin update server, written in PHP.

Akkariin Meiko 2 Sep 27, 2022
This is a small piece of code to steal firefox's cookies and upload to server (Written in VBA)

Steal-firefox-cookies-VBA-macro This is a small piece of code to steal firefox's cookies and upload to server (Written in VBA) Please note For educati

HitmanAlharbi 6 Sep 27, 2022
Last Wishes is a PHP application written following Domain-Driven Design approach

Last Wishes is a PHP application written following Domain-Driven Design approach. It's one of the sample applications where you can check the concepts explained in the Domain-Driven Design in PHP book.

DDD Shelf 644 Dec 28, 2022
Php-rpc-server - JSON RPC server implementation for PHP.

JSON RPC Server implementation for PHP. The json-rpc is a very simple protocol. You can see this by reading the protocol specification. This library i

null 4 Sep 28, 2022
For server-to-server comms from PHP to CloudKit.

CloudKit-PHP Today I found this fantastic gist by Mauricevb that demonstrates how to communicate with CloudKit from PHP. I already had a previous proj

Tim Oliver 1 Oct 14, 2021
Calibre OPDS (and HTML) PHP Server : web-based light alternative to Calibre content server / Calibre2OPDS to serve ebooks (epub, mobi, pdf, ...)

COPS COPS stands for Calibre OPDS (and HTML) Php Server. See : COPS's home for more details. Don't forget to check the Wiki. Why ? In my opinion Calib

Sébastien Lucas 1.3k Jan 1, 2023
This project processes a small database with php all on a web server. This project uses XAMPP to run the web server and the database.

PHP-introduction This project processes a small database with php all on a web server. This project uses XAMPP to run the web server and the database.

Tyler Jacques 1 Jan 6, 2022
A plugin that allows you to hear the sound "Welcome to the server!" when you join the server by NhanAZ for PocketMine-MP

General A plugin that allows you to hear the sound "Welcome to the server!" when you join the server by NhanAZ for PocketMine-MP Contacts You can cont

NhanAZ's PocketMine-MP Plugins 10 Sep 27, 2022
EXT:server-timing adds Server-Timing Header with usefull information

EXT:server_timing - see your performance installation composer require kanti/server-timing at the moment there is nothing to configure Server timings

Matthias Vogel 4 Oct 26, 2022
A Simplistic Plugin to Implement Server Claims to your Minecraft: Bedrock Server.

Claims This plugin allows administrators to create, edit, list, and teleport to land claims on a PocketMine server. These claims have a variety of cus

Santana 5 Jun 10, 2023
Sample application to bookmark links, where interface build with Angular.js + Twitter Bootstrap and server powered by PHP with Slim Framework

RESTful Bookmarks PHP Slim TODO: review and update FrontEnd Sample application to bookmark links, where interface build with Angular.js + Twitter Boot

Erko Bridee 50 Dec 15, 2021
You can handle iOS Application Subscription Server Side with Laravel.

Auto Renewing Subscriptions for iOS Apps with Laravel This repository help you to handle iOS Application Subscription on server side. It provides Save

Ajay Thakkar 2 Jun 29, 2022
A sampling profiler for PHP written in PHP, which reads information about running PHP VM from outside of the process.

Reli Reli is a sampling profiler (or a VM state inspector) written in PHP. It can read information about running PHP script from outside of the proces

null 272 Dec 22, 2022
A sampling profiler for PHP written in PHP, which reads information about running PHP VM from outside of the process.

Reli Reli is a sampling profiler (or a VM state inspector) written in PHP. It can read information about running PHP script from outside of the proces

null 258 Sep 15, 2022
A status monitor for Elite Dangerous, written in PHP. Designed for 1080p screens in the four-panel-view in panel.php, and for 7 inch screens with a resolution of 1024x600 connected to a Raspberry Pi.

EDStatusPanel A status monitor for Elite Dangerous, written in PHP. Designed for 1080p screens in the four-panel-view in panel.php, and for 7 inch scr

marcus-s 24 Oct 4, 2022
PHP generics written in PHP

PHP generics written in PHP Require PHP >= 7.4 Composer (PSR-4 Autoload) Table of contents How it works Quick start Example Features Tests How it work

Anton Sukhachev 173 Dec 30, 2022