Learn about the prerequisites and expectations in Linux for PHP developers, along with recommendations for background knowledge and notes on future compatibility.
- [Instructor] Linux for PHP developers is designed with the assumption that you don't have any experience with Linux or server administration. Every command and technique will be described and demonstrated in context so nobody will be left behind. Do you already have some Linux experience? No worries. You can always learn more about configuration, best practices, and how everything works together. This is a systems administration course for PHP developers, but this is not a PHP development course. You should already have a working knowledge of the PHP language, and have written a few scripts.
Without this background, you might not have enough context to follow along with what I'm doing, which will make it harder to enjoy and learn. For some background, or a refresher, I recommend Learning PHP with David Powers, here in our library. Local web development is a very common need, and there's always more than one solution to a problem. For example, XAMPP from apachefriends.org has versions for Windows, Mac, and Linux. There's also WampServer from wampserver.com which is only used for Windows.
And MAMP from mamp.info for Macs only. Each of these options has their advantages and disadvantages and I suggest you explore what's available. If you'd like to learn more about local web stacks, check out Installing Apache, MySQL, and PHP with David Gassner here in our library. Some of the demonstrations include using Git, a popular source code management and revision control system. No prior experience is necessary, and the use of Git is not required for the development server.
However, it's extremely useful, and I strongly recommend some kind of source code management. To learn more about working with Git, watch Git Essential Training with Kevin Skoglund, here in our library. This course will be using PHP 7, which at the time of this writing is the current major version. PHP 7 is great for new and current development projects and should have no compatibility problems. With that said, some older and legacy applications may need to be updated.
In those cases, and especially for custom code, I also recommend checking out the PHP documentation on how to migrate from PHP 5 to 7, on php.net. If you can't, or won't use PHP 7, other versions of PHP can be installed, but that will not be covered or supported in this course. Finally, a note about compatibility. Historically, the software used in this course is stable in forwards-compatible, meaning that the instructions should work with future versions.
With that said, software does update and evolve and newer versions of some of the software may have a slightly different look and feel. If that happens, don't panic. While a label, icon or description may change, the functionality and intent remain the same, and the instructions and guidance in this course will still apply. For convenience, links to download the exact versions of the software used will be available on the course homepage.
Note: The demonstrations use the Ubuntu distribution of Linux, but the skills are applicable to other Linux distributions.
- What is Linux and why should you use it?
- Choosing a Linux distribution
- Creating a virtual machine (VM)
- Managing Linux from the command line
- Configuring a Linux server
- Managing Apache sites and modules
- Configuring the MySQL database
- Configuring PHP for development
- Debugging PHP code in Linux
- Installing PHP tools such as Composer and CodeIgniter
- Managing VMs with VirtualBox
- Troubleshooting LAMP