Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Freek Van der Herten:
Taking care of backups with Laravel
Sep 19, 2016 @ 09:34:13

Freek Van der Herten has posted a new article to his site covering the backup of your Laravel-based application with a handy package, laravel-backup. He's released a new major version so he wanted to catch you up on some of the features and functionality the package includes and how to use them for your application.

A new major version of laravel-backup was recently tagged. This package can backup files and databases of your Laravel app (or any PHP application really). The backup consists of a zipfile containing a dump of the databases and all files that are selected for backup. The package will copy over the zipfile to external storage such as S3, Dropbox, SFTP, … If something goes wrong during the package can notify you via, amongst others, mail or Slack. In this post I’d like to give some background on why and how it was built.

Keep in mind that there is no one size fits all solution for backups. A small company will probably handle backups in another way than a bigger company. This post has small companies in mind with a couple of developers and no dedicated operations person or team.

He starts off talking about "modern hosting" services and some of the issues that can come with them (downtime being one of the worst). He point out that providers like Linode and DigitalOcean only make periodic backups of your application and restoring from these could mean a lot of data loss - one of the worst things that can happen to an online business. With the laravel-backup package protecting against this kind of failure is easier, letting you automatically back up your site to an off-server source (like S3, Dropbox, or even another local location). He also describes the handling to clean up old backups, sending notifications when problems come up and simple monitoring functionality. He ends the post by mentioning once again that this package is designed for use with small-to-medium sized applications. Larger ones should work up a more robust, possibly external solution that doesn't rely on the application framework for its functionality.

tagged: backup laravel package laravelbackup tutorial downtime

Link: https://murze.be/2016/09/taking-care-of-backups-with-laravel/

SitePoint PHP Blog:
Starting a Business with Laravel Spark
May 02, 2016 @ 11:51:22

On the SitePoint PHP blog there's a new tutorial from Christopher Pitt showing you how to "start a business" with Laravel Spark, the recently released scaffolding product that takes care of a lot of the typical "business" handling for online products.

I am really excited about Laravel Spark. By the time you read this, there will probably be a multitude of posts explaining how you can set it up. That’s not as interesting to me as the journey I’m about to take in creating an actual business with Spark!

The idea is simple. I have created a Pagekit module which you can use to back up and restore site data. The module makes it easy to store and download these backups, and restore them on different servers.

He starts off with some of the background behind the product and getting Spark set up with some additional functionality (like additional user fields and gathering billing information). He then creates the functionality allowing for the actual storing of the backups and API functionality that integrates with it. The post wraps up with his look at adding the code needed to download the backups and return them back to the user.

tagged: laravel spark tutorial business pagekit backup tutorial introduction

Link: http://www.sitepoint.com/starting-a-business-with-laravel-spark/

Freek Van der Herten:
A modern backup solution for Laravel apps
Mar 09, 2016 @ 11:15:54

As Freek Van der Herten mentions in this post to his site the latest release of the Laravel backup package has been released - version 3 - with some major improvements over previous releases.

Today our team released a new major version of laravel-backup. It can backup the files and databases of your application to one or more external filesystems. It uses Laravel’s native cloud filesystem to do this. The package can also notify you via Slack and/or email when something goes wrong with your backups. We’ve also created a dedicated site with full documentation. In this blogpost we want to give you some background of why and how the package was created.

They start out with a bit of history about the package, talking about how they created it to fill their own needs and how its risen in popularity since its release. Following this the post talks about new features in version 3 including:

  • Taking backups
  • Cleaning up old backups
  • Monitoring the health of all backups
  • Sending notifications

There's also some brief mentions of other new features around event hooks and adding additional information to the backup file. There's a bit of code shared to show the quality/readbility of the code and links over to various resources on the documentation site as well. Finally they mention some information about the use of the package in PHP 5 (it has become PHP 7 focused with this release) and some of the alternatives that are out there.

tagged: backup laravel package php7 release improvement features history php5

Link: https://murze.be/2016/03/a-modern-backup-solution-for-laravel-apps/

Laravel News Podcast:
LN 08: Database Backups
Jan 28, 2016 @ 12:56:39

The Laravel News podcast with host Eric Barnes has posted their latest episode: Episode 8 - Database Backups.

Episode 8 of the Laravel News podcast is now out.

This episode features special guest Freek Van der Herten talking about backups, Test Driven Laravel, WordPress & Laravel, and PDF generation.

You can listen to this latest episode either by subscribing over on iTunes or pointing your feed reader at the RSS feed and grabbing the latest from there. If you're interested in listening to previous episodes, be sure to check out the podcast archive section on the Laravel News site.

tagged: laravelnews laravel podcast news ep8 ericbarnes database backup

Link: https://laravel-news.com/2016/01/ln-08-database-backups/

Matthew Turland:
PHPUnit + XHProf = BOOM!
Oct 14, 2015 @ 09:38:22

Matthew Turland has a post to his site sharing his experience with the PHPUnit and XHProf combination...and the unfortunate result that made every test fail.

I ran into an issue recently while trying to run PHPUnit tests in an environment using XHProf. Google didn’t prove to be much help, so I thought I’d document the problem and solution here for posterity.

When I ran my tests, each failed with the same cryptic error and no backtrace: "Attempted to serialize unserializable builtin class PDO" The cause was the culmination of two rather unfortunate circumstances.

He shares the two problems that causes this issue - one being XHProf's use of globals (where its PDO connection is stored) and the other is the @backupGlobals setting in PHPUnit that's enabled by default. This makes PHPUnit to try to backup that PDO connection by serializing it but can't, hence the failure. He points out a pull request that aims to fix the issue but recommends disabling the globals backup for the time being if you don't have a need for it.

tagged: phpunit xhprof combine globals pdo error backup

Link: http://matthewturland.com/2015/10/13/phpunit-xhprof-boom/

Implementing Automatic Database Backup and Optimization in PHP
Nov 27, 2013 @ 10:52:31

On PHPBuilder.com today they have a new article posted sharing a few different methods you can use to do backups of your (MySQL) database and a few handy tricks/tools you can use to optimize it as well.

Every computer system has a backup. Nevertheless, the number of problems caused by a lack of a recent backup is huge. One of the reasons for that may be the fact that the backup process is not entirely automated. So, let's see how to automate the database backup process in PHP.

There's three recommendations for the (simple) database backup that can produce a file of the current database contents - mysqldump, mysqlhostcopy and a "SELECT INTO OUTFILE" statement. On the optimization size they suggest mysqlcheck, an OPTIMIZE query to help find trouble spots. There's a script included at the end showing how these methods can be combined into a simple PHP script, something that can easily be dropped into a cron job to perform every so often.

tagged: automatic database backup optimization

Link: http://www.phpbuilder.com/articles/databases/mysql/implementing-automatic-database-backup-and-optimization-in-php.html

Automated backups to Google Drive with PHP API
Apr 16, 2013 @ 10:57:01

On his site Lukasz Kujawa has posted a new tutorial showing you how to perform automated backups to Google Drive of files through their API (using his own library).

Where do you keep backups? I guess that depends on what do you backup. You might have a very clever answer for a business critical data but what about less important content? The best example would be a private blog. It will hurt if you lose your data but the odds are you’re not willing to pay for any reliable storage. [...] There is one reliable storage, which is 100% free and almost everybody have access to it. Yes, I’m talking about Google Drive.

He walks you through the process of setting up your Google Drive account API access and where to find the data you'll need to make the connection. He then links over to his project that makes the backup a simple few lines of code (mostly configuration) of a backup path of your choice out to the remote Google Drive account.

tagged: automated backup cp2google library google drive tutorial

Link: http://systemsarchitect.net/automated-backups-to-google-drive-with-php-api

Ilia Alshanetsky's Blog:
Google Docs Backup Script
Jun 22, 2010 @ 11:50:50

Ilia Alshanetsky has created a simple script (that uses curl) to make a backup of your Google Docs to keep you and your data a bit safer (since Google provides no backup capabilities).

As part of the backup strategy we also wanted to capture incremental versions of the documents (on a daily basis) in the event we needed to go back to the prior versions. To this affect I whipped up a small (120 lines) PHP script that will retrieve all your Google documents and save them to a local directory, in the event the document was created/updated in the last 24 hours, thus ensuring snapshot support.

His script exports each of the documents contained in the account and puts them on the local file system prefixed with a year/month/day value to keep things unique. You'll need curl and SimpleXML enabled to be able to use the script, but it's a pretty simple thing to drop in and run on most PHP5 installations.

Here's the code in raw text and syntax highlighted versions.

tagged: googledocs google backup curl document


SitePoint Server-Side Essentials Blog:
Keep Your Blog Safe: Back Up Your WordPress Installation
Jun 04, 2010 @ 09:25:04

In a new post from SitePoint's Server-Side Essentials blog today, Abbas Suterwala talks about something that could save you and your WordPress website in a pinch - a simple backup of everything.

No matter how much you trust your hosting company, disasters happen to everyone. You might also decide to change hosts, in which case you’ll need to migrate your WordPress installation. In either case, you should have a full backup of your WordPress database and files from which you can easily restore, without losing any important data.

He shows two different ways to get the job done - one, doing a manual backup, is a bit more complicated than the other method, using plugins to help out - but they both end up with the same result. For each method there's detailed instructions and screenshots (as well as links to the two plugins they chose to use).

tagged: wordpress tutorial backup plugin manual


Brian Swan's Blog:
BACKUP and RESTORE A Database with the SQL Server Driver for PHP
Apr 08, 2010 @ 12:48:08

In keeping with his SQL Server and PHP theme, Brian Swan has another new post talking about the combination, but this time he focuses on using the SQL Server driver for PHP to backup and restore a database with the BACKUP and RESTORE SQL Server commands.

The strategy you choose really depends on your application and your data. [...] Since I can’t possibly cover everything between those extremes in one post, I’ll aim for something in the middle. Like a blog, perhaps. In other words, I’ll address the scenario in which I don’t want to lose data, but I’m not willing to go to extremes to preserve it.

The post is largely SQL Server related - mostly for the BACKUP and RESTORE - but it gives you a good idea of how to make a full backup, take a snapshot of your logs and restoring that information back up just in case.

tagged: sqlserver restore backup database tutorial