Serve a Directory with PHP

By  on  

Many developers have a giggle at PHP, even looking down at the language, but let's be honest:  most of our blogs are powered by it (WordPress) and it's a great language to dabble around with.  I cut my teeth on PHP, though I prefer to avoid PHP these days.

But when I need to experiment with a simple PHP coding task for the sake of a blog feature, I look for the simplest possible serving solution to accomplish that feat.  Luckily PHP provides me a quick solution for testing:

php -S localhost:8888

The command above allows for serving of a directory via PHP, thus allowing for a simple PHP "site" to be served enough to confirm that my code testing works properly.

Serving a directory with PHP, python, or Node.js ... the same problem solved for different languages!

Recent Features

  • By
    5 More HTML5 APIs You Didn’t Know Existed

    The HTML5 revolution has provided us some awesome JavaScript and HTML APIs.  Some are APIs we knew we've needed for years, others are cutting edge mobile and desktop helpers.  Regardless of API strength or purpose, anything to help us better do our job is a...

  • By
    Page Visibility API

    One event that's always been lacking within the document is a signal for when the user is looking at a given tab, or another tab. When does the user switch off our site to look at something else? When do they come back?

Incredible Demos

Discussion

  1. Joris Ros

    You can add easily a public directory to it by adding -t parameter.

    php -S localhost:8080 -t public_html
    
  2. Love tips like this, thanks for putting them together!

  3. If you’re using Linux. sudo right is required

  4. Elena

    To change a current directory function chdir() is used. It returns true on success and false on failure. Please note function chdir() works in PHP 4, PHP 5, PHP 7. Following is a description of this function.

    https://www.mindstick.com/Articles/12164/directory-handling-in-php

    http://pixelcode.co.uk/tutorials/php/directory-handling-in-php/

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!