Laravel News: A New Job-based Retry Delay Comes to Laravel 5.8.14

phpdeveloper.org - 2019-05-07(火) 23:00:02
Laravel 5.8.14 is out with a job-based retry delay feature. Visit Laravel News for the full post. The post A New Job-based Retry Delay Comes to Laravel 5.8.14 appeared first on Laravel News.
カテゴリー: php

Interview with Michael Moussa

planet PHP - 2019-05-07(火) 22:08:00
カテゴリー: php

Xdebug Update: April 2019

planet PHP - 2019-05-07(火) 17:17:00
Xdebug Update: April 2019
London, UK Tuesday, May 7th 2019, 09:17 BST

This is another of the monthly update reports in which I explain what happened with Xdebug development in this past month. It will be published on the first Tuesday after the 5th of each month. Patreon supporters will get it earlier, on the first of each month. You can become a patron here to support my work on Xdebug. More supporters, means that I can dedicate more of my time to improving Xdebug.

In April, I worked on the following things:

2.7.1 Release

The 2.7.1 release came just at the start of the month, and addressed three bugs:

  • Issue #1641: Performance degradation with getpid syscall, contributed by Kees Hoekzema.

  • Issue #1646: Missing newline in error message.

  • Issue #1647: Memory corruption when a conditional breakpoint is used.

The second bug in the list was more than just a missing newline. Xdebug's handling of connections that were aborted by the IDE was not as good as they could be. For this to be tested, I updated the test harness for remote debugger tests to be able to test for stdout and stderr as well.

I would recommend that everybody to update to this version as the last of these bugs can cause PHP with Xdebug to crash.


Since the Xdebug 2.7.1 release I have worked on a few outstanding bugs that did not make the earlier 2.7 releases.

The remote step debugger allows you to change a variable's value through an IDE. Previously, this would use PHP's internal eval functionality to set the value, except in the cases where the IDE would also associate a new type with the value. I finally switched all code paths of setting new values to use eval. Due to changes introduced in PHP 7, this is now the only reliable way of doing this.

The second issue (#1656) fixes an issue with the step debugger's connect-back functionality. This functionality looks at HTTP headers to find out which IP address to connect to. In some cases, a proxy might inject a second IP address, and Xdebug could not handle this. I improved upon a prototype patch by Florian Dorn to make Xdebug now pick the first IP address in the header that it finds.

Through the implementation of issue (#1615), Xdebug now will turn off Zend OPcache's optimiser when the step debugger is active. The optimiser is really good making crappy code run fast, but it also optimises things away that normal users wouldn't expect, and that then confuses developers single-stepping through their code. Which brings me onto the last point of this update:

Resolving Breakpoints

In last month's update I introduced a new feature that Jetbrains is sponsoring. This issue, #1388: Support 'resolved' flag for breakpoints, is now implemented pending additional testing with a fresh (and experimental) build of PhpStorm. As part of the testing I'm interested in knowing how many breakpoints are usually in use in PhpStorm projects. I would be interested in knowing how many breakpoints, and which types of breakpoints (location, exception), your project has defined. Please leave a note in the comment section if you care to help me out with this.


I have also been continuing with the PHP Internals News podcast. This is a weekly podcast where in 15-30 minutes I discuss new proposed features to the PHP language

Truncated by Planet PHP, read more at the original (another 633 bytes)

カテゴリー: php

Alejandro Celaya | Blog: Considerations to properly use open source software projects

phpdeveloper.org - 2019-05-07(火) 01:00:01

I've been wanting to write this article for a while, but it is a subject complex to approach.

Lately I've had some "conflicts" with users in some of the open source software (OSS) projects I maintain, and I have also seen some of the people I follow on Twitter dealing with the same.

Because of...

カテゴリー: php

Laravel News: Laravel Google Translate

phpdeveloper.org - 2019-05-07(火) 01:00:01
Laravel Google Translate is a package that provides an artisan console command to translate your localization files with the Google’s translation API. Visit Laravel News for the full post. The post Laravel Google Translate ap...
カテゴリー: php

Technical Thoughts, Tutorials, and Musings: PSR-14: Example - Delayed Events, Queues, and Asynchronicity

phpdeveloper.org - 2019-05-07(火) 01:00:01

PSR-14: Example - Delayed Events, Queues, and Asynchronicity

One of the long-running debates while designing PSR-14 was how to handle events that were inherently mono-directional. Often, a library will trigger an Event that is, from its point of view, entirely informational. The Eve...
カテゴリー: php

Craig Kerstiens: Introducing Hyperscale (Citus) on Azure Database for PostgreSQL

planet postgresql - 2019-05-06(月) 22:00:00

For roughly ten years now, I’ve had the pleasure of running and managing databases for people. In the early stages of building an application you move quickly, adding new tables and columns to your Postgres database to support new functionality. You move quickly, but you don’t worry too much because things are fast and responsive–largely because your data is small. Over time your application grows and matures. Your data model stabilizes, and you start to spend more time tuning and tweaking to ensure performance and stability stay where they need to. Eventually you get to the point where you miss the days of maintaining a small database, because life was easier then. Indexes were created quickly, joins were fast, count(*) didn’t bring your database to a screeching halt, and vacuum was not a regular part of your lunchtime conversation. As you continue to tweak and optimize the system, you know you need a plan for the future and know how you’re going to continue to scale.

Now in Preview: Introducing Hyperscale (Citus) on Azure Database for PostgreSQL

With Hyperscale (Citus) on Azure Database for PostgreSQL, we help many of those worries fade away. I am super excited to announce that Citus is now available on Microsoft Azure, as a new deployment option on the Azure Database for PostgreSQL called Hyperscale (Citus).

Hyperscale (Citus) scales out your data across multiple physical nodes, with the underlying data being sharded into much smaller bits. The same database sharding principles that work for Facebook and Google are baked right into the database. But, unlike traditional sharded systems, your application doesn’t have to learn how to shard the data. With Azure Database on PostgreSQL, Hyperscale (Citus) takes Postgres, the open source relational database, and extends it with low level internal hooks.

This means you can go back to building new features and functionality, without having to deal with a massive database that is a pain to maintain. When you provision a Hyperscale (Citus) server group, you’ll have a c

カテゴリー: postgresql

symfony Project Blog: New in Symfony 4.3: Better HTML5 parser for DomCrawler

phpdeveloper.org - 2019-05-04(土) 01:30:01
Contributed by Titouan Galopin in #29306 and #30892.

The DomCrawler component eases DOM navigation for HTML and XML documents, making it very useful for functional tests and web scrap...

カテゴリー: php

php|architect: Serverless, ReactPHP, and Expanding Frontiers

phpdeveloper.org - 2019-05-04(土) 01:30:01

PHP is no longer limited to sitting behind a web server like Apache or NGINX waiting for requests to process. Serverless PHP with AWS’s lambda service is now possible. At the same time, you can also write event-driven, asynchronous servers with ReactPHP. In this issue, we take a look at these n...

カテゴリー: php

PHP: Hypertext Preprocessor: PHP 7.1.29 Released

phpdeveloper.org - 2019-05-04(土) 01:30:01

The PHP development team announces the immediate availability of PHP 7.1.29. This is a security release.All PHP 7.1 users are encouraged to upgrade to this version.For source downloads of PHP 7.1.29 please visit our downloads page, Windows source and binaries can be found on windows.php.net/download...

カテゴリー: php

Derick Rethans: PHP Internals News: Episode 8: Deprecating Short Open Tags

phpdeveloper.org - 2019-05-04(土) 01:30:01
PHP Internals News: Episode 8: Deprecating Short Open Tags London, UK Thursday, May 2nd 2019, 09:08 BST In this eight episode of "PHP Internals News" I talk to George Banyard (Twitter, GitHub) about deprecating PHP's short open tags (), and...
カテゴリー: php

Mera Mustaqbil: How to use and make multiple database connections in Laravel

phpdeveloper.org - 2019-05-04(土) 01:30:01

In this tutorial I will guide you on how to use multiple databases in Laravel. Step1 — Add following in your .env file Step2 — Add following at config/database.php Step3 — Add following at app/config/database.php Specify connection during migration Specify connection in QueryBuilder S...

カテゴリー: php

Tomáš Votruba Blog: Alias as a Code Smell

phpdeveloper.org - 2019-05-04(土) 01:30:01

Do you have 2 class with the same name? AppEntityProduct and AppEntityProduct? Of course not. But I bet you have at least 2 classes with the same short name *Product and *Product.

And that smells... Why?

カテゴリー: php

PHP 7.1.29 Released

php.net - 2019-05-03(金) 15:05:20
カテゴリー: php

Josh Williams: LinuxFest Northwest 2019

planet postgresql - 2019-05-03(金) 09:00:00

I’m sitting in an airport, writing this in an attempt to stay awake. My flight is scheduled to depart at 11:59 PM, or 2:59 AM in the destination time zone which I’m still used to. This is the first red eye flight I’ve attempted, and I’m wondering why I’ve done this to myself.

I have dedicated a good portion of my life to free, open source software. I’ll occasionally travel to conferences, sitting on long flights and spending those valuable weekends in talks about email encryption and chat bots. I’ve also done this to myself. But even with all this I have zero regrets.

This little retrospective comes courtesy of my experience at LinuxFest Northwest this last weekend in Bellingham, Washington.

Specifically I think it was some of the talks, painting things in broad strokes, that did it. I attended Jon “maddog” Hall’s beard-growing Fifty Years of Unix, and later sat in on the Q&A, which was a bit less technical than expected. So I didn’t ask about the “2038 problem.” But that’s okay.

I felt a little guilty, on one hand, doing these general interest sessions instead of something on a much more specific topic, like ZFS, which would have arguably had a more direct benefit. On the other hand, doing those general interest talks helps me stay grounded, I suppose, helps me keep perspective.

I did attend some more specialized talks, naturally. LFNW was a packed conference, often times there were a number of discussions I would have liked to attend happening at the same time. I’m hoping recordings will become available, or at least slides or other notes will appear. Some of the other talks I attended included, in no particular order:

  • Audio Production on Linux
    Like many other End Pointers, I dabble in a little bit of music. Unlike those other End Pointers, I’ve got no talent for it. Still, I try, and so I listened in on this one to find out a little more about how Jack works. I also caught wind of PipeWire, a project that’s aiming to supplant both PulseAudio and Jack. Neat!

  • Using GIS in Postgres
    I’ve got a couple PostGIS-

カテゴリー: postgresql

PHP 7.1.29 Released

planet PHP - 2019-05-03(金) 09:00:00
The PHP development team announces the immediate availability of PHP 7.1.29. This is a security release.All PHP 7.1 users are encouraged to upgrade to this version.For source downloads of PHP 7.1.29 please visit our downloads page, Windows source and binaries can be found on windows.php.net/download/. The list of changes is recorded in the ChangeLog.
カテゴリー: php

Sebastian Insausti: How to Use pgBackRest to Backup PostgreSQL and TimescaleDB

planet postgresql - 2019-05-03(金) 05:48:23

Your data is probably the most valuable assets in the company, so you should have a Disaster Recovery Plan (DRP) to prevent data loss in the event of an accident or hardware failure. A backup is the simplest form of DR. It might not always be enough to guarantee an acceptable Recovery Point Objective (RPO) but is a good first approach. Also, you should define a Recovery Time Objective (RTO) according to your company requirements. There are many ways to reach the RTO value, it depends on the company goals.

In this blog, we’ll see how to use pgBackRest for backing up PostgreSQL and TimescaleDB and how to use one of the most important features of this backup tool, the combination of Full, Incremental and Differential backups, to minimize downtime.

What is pgBackRest?

There are different types of backups for databases:

  • Logical: The backup is stored in a human-readable format like SQL.
  • Physical: The backup contains binary data.
  • Full/Incremental/Differential: The definition of these three types of backups is implicit in the name. The full backup is a full copy of all your data. Incremental backup only backs up the data that has changed since the previous backup and the differential backup only contains the data that has changed since the last full backup executed. The incremental and differential backups were introduced as a way to decrease the amount of time and disk space usage that it takes to perform a full backup.

pgBackRest is an open source backup tool that creates physical backups with some improvements compared to the classic pg_basebackup tool. We can use pgBackRest to perform an initial database copy for Streaming Replication by using an existing backup, or we can use the delta option to rebuild an old standby server.

Some of the most important pgBackRest features are:

  • Parallel Backup & Restore
  • Local or Remote Operation
  • Full, Incremental and Differential Backups
  • Backup Rotation and Archive Expiration
  • Backup Integrity check
  • Backup Resume
  • Delta Restore
  • Encryption

Now, let’s see how we can use pgBackRe

カテゴリー: postgresql

symfony Project Blog: Symfony on Stackoverflow

phpdeveloper.org - 2019-05-03(金) 02:30:02

There are many ways to contribute to the Symfony community besides submitting Pull Requests to the GitHub-Repository, from reviewing issues to joining discussions on Slack. I particularly enjoy answering questions on Stack Overflow.

Most of my questions on Stack Overflow are from when I first sta...

カテゴリー: php