<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Shiphp</title>
		<description>The PHP Developer's Guide</description>
		<link>https://www.shiphp.com</link>
		<atom:link href="https://www.shiphp.com/feed.xml" rel="self" type="application/rss+xml" />
		
			<item>
				<title>Dan Pastusek and Seandon Mooy on KubeSail and Simplifying Kubernetes</title>
				
				
					<description>&lt;p&gt;I’ve been using Docker for local development and continuous integration environments for several years now, but have always struggled more with production deploys. At first, orchestration tools were almost non-existent so everyone deployed Docker differently, but now as Kubernetes has become the dominant force in production containers, it’s started to get easier.&lt;/p&gt;

</description>
				
				<pubDate>Fri, 12 Apr 2019 00:00:00 +0000</pubDate>
				<link>http://www.shiphp.com/blog/dan-seandon-kubesail</link>
				<guid isPermaLink="true">http://www.shiphp.com/blog/dan-seandon-kubesail</guid>
			</item>
		
			<item>
				<title>Optimizing MySQL View Queries</title>
				
				
					<description>&lt;p&gt;Last year I started logging slow requests using PHP-FPM’s &lt;a href=&quot;https://easyengine.io/tutorials/php/fpm-slow-log&quot;&gt;slow request log&lt;/a&gt;. This tool provides a very helpful, high level view of which requests to your website are not performing well, and it can help you find bugs, memory leaks, and optimizations for your database queries.&lt;/p&gt;

</description>
				
				<pubDate>Mon, 25 Mar 2019 00:00:00 +0000</pubDate>
				<link>http://www.shiphp.com/blog/optimizing-mysql-view-queries</link>
				<guid isPermaLink="true">http://www.shiphp.com/blog/optimizing-mysql-view-queries</guid>
			</item>
		
			<item>
				<title>Announcing the Russian Translation of 'Building Your First PHP Application with Docker'</title>
				
				
					<description>&lt;p&gt;It’s been almost a year exactly since I first published &lt;a href=&quot;/books#building-php-applications-in-docker&quot;&gt;&lt;em&gt;Building PHP Applications in Docker&lt;/em&gt;&lt;/a&gt;, and today I’m excited to announce that it is &lt;a href=&quot;https://leanpub.com/first-php-docker-application-ru&quot;&gt;now available in Russian&lt;/a&gt;!&lt;/p&gt;

</description>
				
				<pubDate>Thu, 09 Aug 2018 00:00:00 +0000</pubDate>
				<link>http://www.shiphp.com/blog/book-php-docker-russian</link>
				<guid isPermaLink="true">http://www.shiphp.com/blog/book-php-docker-russian</guid>
			</item>
		
			<item>
				<title>Building a Single NGinx Docker Image For All My PHP-FPM Containers</title>
				
				
					<description>&lt;p&gt;Lately I’ve been working to deploy a suite of PHP microservices using Docker containers. One of the problems is that our PHP applications are set up to work with PHP-FPM and Nginx (instead of the admittedly simpler &lt;a href=&quot;https://www.shiphp.com/blog/2017/php-web-app-in-docker&quot;&gt;Apache/PHP setup covered here&lt;/a&gt;), so each PHP microservice needs two containers (and by extension, two Docker images): a PHP-FPM container and an NGinx container.&lt;/p&gt;

</description>
				
				<pubDate>Wed, 06 Jun 2018 00:00:00 +0000</pubDate>
				<link>http://www.shiphp.com/blog/nginx-php-fpm-with-env</link>
				<guid isPermaLink="true">http://www.shiphp.com/blog/nginx-php-fpm-with-env</guid>
			</item>
		
			<item>
				<title>Debugging Intermittent Test Failures with Bash and PHPUnit</title>
				
				
					<description>&lt;p&gt;If you’ve been &lt;a href=&quot;https://www.shiphp.com/blog/2017/phpunit-docker&quot;&gt;writing PHPUnit tests&lt;/a&gt; for long, you’ve probably run into a time when a test works 90% of the time, but every now and then it throws an unexpected error or failure. If it happens only rarely, you might just get around it by re-running your test suite, but if you’ve got a large test suite or intermittent failures become really common, you probably need to address the issue. Here’s a quick tip for debugging tests like this.&lt;/p&gt;

</description>
				
				<pubDate>Wed, 30 May 2018 00:00:00 +0000</pubDate>
				<link>http://www.shiphp.com/blog/debugging-intermittent-test-failures-phpunit</link>
				<guid isPermaLink="true">http://www.shiphp.com/blog/debugging-intermittent-test-failures-phpunit</guid>
			</item>
		
			<item>
				<title>Running SQLite in PHP with Docker</title>
				
				
					<description>&lt;p&gt;&lt;a href=&quot;https://www.sqlite.org/index.html&quot;&gt;SQLite&lt;/a&gt; is a great database for getting started on small projects. Unlike traditional SQL databases (like &lt;a href=&quot;https://www.shiphp.com/blog/2017/php-mysql-docker&quot;&gt;MySQL&lt;/a&gt; or &lt;a href=&quot;https://www.shiphp.com/blog/2017/php-postgres-docker&quot;&gt;Postgres&lt;/a&gt;), SQLite stores all your records in a single flat file that you can easily edit, transfer, or even check into version control (if your project warrants it).&lt;/p&gt;

</description>
				
				<pubDate>Tue, 15 May 2018 00:00:00 +0000</pubDate>
				<link>http://www.shiphp.com/blog/php-sqlite-docker</link>
				<guid isPermaLink="true">http://www.shiphp.com/blog/php-sqlite-docker</guid>
			</item>
		
			<item>
				<title>Testing Your Code with Multiple Versions of PHP Using Docker</title>
				
				
					<description>&lt;p&gt;About a year ago, I spent some time working with an open source project called &lt;a href=&quot;https://github.com/mevdschee/php-crud-api&quot;&gt;PHP Crud API&lt;/a&gt;. The project creates a RESTful API from a relational database using a single PHP script. It’s quite an impressive feat of engineering, but as I started working on the project, I realized I needed a reliable way to test my changes in different versions of PHP. That’s where Docker comes in.&lt;/p&gt;

</description>
				
				<pubDate>Wed, 09 May 2018 00:00:00 +0000</pubDate>
				<link>http://www.shiphp.com/blog/testing-multiple-versions-of-php</link>
				<guid isPermaLink="true">http://www.shiphp.com/blog/testing-multiple-versions-of-php</guid>
			</item>
		
			<item>
				<title>Class Property and Method Visibility in PHP</title>
				
				
					<description>&lt;p&gt;Have you ever been confused by the difference between “private” and “protected” properties in PHP? Do you have to declare all your properties as “public”? What would you use a “private” method for?&lt;/p&gt;

</description>
				
				<pubDate>Mon, 16 Apr 2018 00:00:00 +0000</pubDate>
				<link>http://www.shiphp.com/blog/visibility</link>
				<guid isPermaLink="true">http://www.shiphp.com/blog/visibility</guid>
			</item>
		
			<item>
				<title>Interview with Shipyard's Creator, Italo Baeza</title>
				
				
					<description>&lt;p&gt;Over the past month, I’ve been talking to other developers who work with PHP and Docker about the tools and resources they use to make managing Docker easier. This week, I’m sharing a short interview with Italo Baeza, the creator of &lt;a href=&quot;https://github.com/DarkGhostHunter/Shipyard&quot;&gt;Laravel Shipyard&lt;/a&gt;, an open source project that helps Laravel developers (and really all PHP developers) get a whole local environment set up using Docker. Like &lt;a href=&quot;/blog/2017/mahmoud-zalt-laradock&quot;&gt;Laradock&lt;/a&gt;, Shipyard abstracts away most of the Docker complexity and makes running containers secondary to writing code, but Shipyard is a bit simpler.&lt;/p&gt;

</description>
				
				<pubDate>Mon, 27 Nov 2017 00:00:00 +0000</pubDate>
				<link>http://www.shiphp.com/blog/shipyard-italo-baeza</link>
				<guid isPermaLink="true">http://www.shiphp.com/blog/shipyard-italo-baeza</guid>
			</item>
		
			<item>
				<title>Ben Maggacis on Codemason and Deploying with Docker</title>
				
				
					<description>&lt;p&gt;Once PHP developers get familiar with the basics of local development with Docker, the next thing they always ask me about is deploying their projects. Running containers in production is a complicated problem, and because each project is different, there’s not just one solution that works for everyone. I’ve written before about &lt;a href=&quot;https://www.shiphp.com/blog/2017/deploying-php-hyper-sh&quot;&gt;using Hyper.sh&lt;/a&gt;, but I’ve also used &lt;a href=&quot;https://aws.amazon.com/ecs/&quot;&gt;Amazon’s EC2&lt;/a&gt; and &lt;a href=&quot;http://rancher.com/&quot;&gt;Rancher&lt;/a&gt;.&lt;/p&gt;

</description>
				
				<pubDate>Mon, 20 Nov 2017 00:00:00 +0000</pubDate>
				<link>http://www.shiphp.com/blog/ben-maggacis-codemason</link>
				<guid isPermaLink="true">http://www.shiphp.com/blog/ben-maggacis-codemason</guid>
			</item>
		
	</channel>
</rss>
