PHPackages                             clickpdx/appserver - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. clickpdx/appserver

ActiveWordpress-theme

clickpdx/appserver
==================

A PHP application server.

v2.0(4y ago)231JavaScript

Since Apr 22Pushed 1y ago1 watchersCompare

[ Source](https://github.com/ocdladefense/appserver)[ Packagist](https://packagist.org/packages/clickpdx/appserver)[ RSS](/packages/clickpdx-appserver/feed)WikiDiscussions development Synced today

READMEChangelogDependencies (6)Versions (9)Used By (0)

Appserver
=========

[](#appserver)

A PHP application server. This application server can be used to demonstrate several RFCs, especially those concerned with HTTP, i.e., RFC 1945 ().

Current changes
---------------

[](#current-changes)

- OAuth::setSession - moved to CoreModule::setSession
- OAuth::getUser - moved to CoreModule::getUser
- OAuth::logout - moved to CoreModule::logout
- Repository: lib-salesforce-rest-api -- OAuth.php - pruned fo 3 static methods. -- Push new major version of lib-salesforce-rest-api? -- Probably not because modules are tied to version 2.x -- Push a new \*minor version of lib-salesforce-rest-api? -- YES - this won't break existing modules. Ug.
- Repository: lib-oauth -- Combine lib-oauth-config package (OAuth config classes) with OAuth.php from lib-salesforce-rest-api.

System Requirements
-------------------

[](#system-requirements)

1. Windows: Working WAMP Installation
2. Apache2
3. PHP &gt;=7.3 with php-curl, php-xml-dom and others
4. MySQL server
5. Composer ()

Composer
--------

[](#composer)

Composer is a package manager for PHP. Appserver includes composer.json and composer-dev.json files that reference any required packages. Composer can install these packages; typically you use composer update or composer install to download any required packages.

- For development use the following:
- NOTE: Windows doesn't support the env macro; Windows users must forever copy the composer-dev.json file to composer.json, then run composer update.
- NOTE: for linux-flavored users: env COMPOSER=composer-dev.json composer update

INSTALLATION NOTES
------------------

[](#installation-notes)

### Description

[](#description)

If WAMP is already installed you can confirm that you have a half-way decent environment by turning the Apache webserver on, locating your Apache document root and creating a "Hello World!" sample.php file. Open it in a web browser by using the reserved "localhost" domain, i.e., . If it works you're on the right track.

### Overview

[](#overview)

We use the required applications to install an environment that this repo can run in. As this is a PHP application, a LAMP/WAMP stack is required. Installing an application like this involves configuring this environment, downloading any additional packages (or their dependencies), identifying the names and locations of configuration files, understanding how the configuration files change the environment, confirming that your configuration changes are effective and finally creating a hostname to reference the site in your preferred web browser.

### Configuration

[](#configuration)

PHP and Apache will likely need to be further configured, especially to load the latest version of mod\_php (the PHP module for Apache), to change any necessary runtime settings for both Apache and PHP, and especially to configure the Apache document root for this application.

Once that's done we still need to configure the appserver itself. Check config/ in this repo for the relevant settings and examples.

### Installation Steps

[](#installation-steps)

- The goal is to get something like c:\\wamp64\\www\\appserver with the appropriate files so you can run  in a web browser.

Install the Composer package manager:

- sudo apt install composer (linux)
-

Step #1 - Clone this repository into your web root.

Step #2 - Composer - install the dependencies using a console/terminal application.

- NOTE: VS Code comes pre-installed with a terminal --&gt; cd appserver --&gt; composer update

Resolve dependencies --&gt; For example, if php-curl is not installed, run: sudo apt-get install php7.2-curl (linux) or enable the appropriate module using WAMP

Step #3 - Run composer update (again) c:\\wamp64\\www\\appserver $&gt; composer update Loading composer repositories with package information

Step #4 - Create a config/config.php file --&gt; copy the config-example.php file to config.php

Step #5 - Create an apache virtual host --&gt; modify the DOCUMENT\_ROOT setting appropriately

Step #6 - Create an .htaccess file --&gt; modify the RewriteRule target path with a prevailing forward slash that is to be interpreted as being relative to the DOCUMENT\_ROOT setting (above)

Step #7 - Test a route --&gt; Test one of the provided routes or clone the example module to get a simple route.

-

Specific Configurations
-----------------------

[](#specific-configurations)

### Apache

[](#apache)

Enable alias, directory, headers and any other necessary Apache modules.

### Using HTTP

[](#using-http)

Appserver has built-in classes to send HTTP Requests and receive HTTP Responses.

### use Http\\HttpRequest as HttpRequest;

[](#use-httphttprequest-as-httprequest)

### use Http\\HttpResponse as HttpResponse;

[](#use-httphttpresponse-as-httpresponse)

Fetch the New York Times homepage. "All the news that's fit to print." $url = "";

### Init an http instance for sending requests;

[](#init-an-http-instance-for-sending-requests)

### include any necessary configuration options.

[](#include-any-necessary-configuration-options)

`$config = array();``$http = new Http($config);`

### The request.

[](#the-request)

### See HTTP/1.1 Request() for more info.

[](#see-http11-requesthttpswwww3orgprotocolsrfc2616rfc2616html-for-more-info)

`$req = new HttpRequest($url);`

### Sending the request returns a Response.

[](#sending-the-request-returns-a-response)

### See HTTP/1.1 Response() for more info.

[](#see-http11-responsehttpswwww3orgprotocolsrfc2616rfc2616html-for-more-info)

`$resp = $http->send($req);`

### See what's in this message.

[](#see-whats-in-this-message)

`echo $resp->getBody();`

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance29

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 52.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~96 days

Total

2

Last Release

1747d ago

Major Versions

v1.0 → v2.02021-07-27

### Community

Maintainers

![](https://www.gravatar.com/avatar/5f9c91233e6f26f0bd4d992a48e171f2c6d76cd4c18505dda6b8182d50ff1d07?d=identicon)[jbernal](/maintainers/jbernal)

---

Top Contributors

[![jbernal](https://avatars.githubusercontent.com/u/2598974?v=4)](https://github.com/jbernal "jbernal (407 commits)")[![ocdladefense](https://avatars.githubusercontent.com/u/6232180?v=4)](https://github.com/ocdladefense "ocdladefense (234 commits)")[![nicholasglesmann](https://avatars.githubusercontent.com/u/48044618?v=4)](https://github.com/nicholasglesmann "nicholasglesmann (51 commits)")[![PatrickSBJ](https://avatars.githubusercontent.com/u/39396153?v=4)](https://github.com/PatrickSBJ "PatrickSBJ (25 commits)")[![SherlockJake](https://avatars.githubusercontent.com/u/54752969?v=4)](https://github.com/SherlockJake "SherlockJake (21 commits)")[![ShawnaRStaff](https://avatars.githubusercontent.com/u/44305515?v=4)](https://github.com/ShawnaRStaff "ShawnaRStaff (11 commits)")[![betettag](https://avatars.githubusercontent.com/u/153954247?v=4)](https://github.com/betettag "betettag (11 commits)")[![IsaacWalters256](https://avatars.githubusercontent.com/u/63308041?v=4)](https://github.com/IsaacWalters256 "IsaacWalters256 (8 commits)")[![PlasteredCrab](https://avatars.githubusercontent.com/u/49732785?v=4)](https://github.com/PlasteredCrab "PlasteredCrab (6 commits)")[![KlosheKopa](https://avatars.githubusercontent.com/u/63485250?v=4)](https://github.com/KlosheKopa "KlosheKopa (2 commits)")[![JacobFelten](https://avatars.githubusercontent.com/u/49732696?v=4)](https://github.com/JacobFelten "JacobFelten (1 commits)")

### Embed Badge

![Health badge](/badges/clickpdx-appserver/health.svg)

```
[![Health](https://phpackages.com/badges/clickpdx-appserver/health.svg)](https://phpackages.com/packages/clickpdx-appserver)
```

###  Alternatives

[elgg/elgg

Elgg is an award-winning social networking engine, delivering the building blocks that enable businesses, schools, universities and associations to create their own fully-featured social networks and applications.

1.7k15.7k4](/packages/elgg-elgg)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

44643.1k1](/packages/pressbooks-pressbooks)[johnbillion/user-switching

Instant switching between user accounts in WordPress and WooCommerce.

19768.3k2](/packages/johnbillion-user-switching)[rainlab/blog-plugin

Blog plugin for October CMS

17257.7k](/packages/rainlab-blog-plugin)[rainlab/user-plugin

User plugin for October CMS

11954.3k13](/packages/rainlab-user-plugin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
