search
HomeBackend DevelopmentPHP TutorialSome words written on the occasion of the release of PHP7_PHP Tutorial

Some words written on the occasion of the release of PHP7

I have been doing open source for 4 or 5 years. From the initial Yaf to today's PHP7, I have participated in more and more projects, and more and more users are using my code. I will start it tomorrow. The release of PHP7 is definitely the most important milestone since I started working on open source. I should commemorate today and let me be a little emotional.

The PHP7 project started during the Spring Festival last year. At that time, our Opcache JIT project based on PHP-5.5 was basically shelved because we could not get the expected results. Some information collected while doing JIT made us realize that, The basic part was not good enough and could not support JIT very well, so around February 2014, we started the reconstruction project. The hope at that time was that through reconstruction, we could get more than 30% performance improvement, which would benefit the future. Provide a basis for further optimization.

We didn’t have a name for the project at that time, we were just trying it out. Those months were the busiest time for me, because we were the only two working on the project, and I was also busy with my work on Weibo. , so I basically only spent my evening time on it. But fortunately, there is a 5-hour time difference between me and another person, so a lot of work can be done in parallel.

As the project progressed, we were pleasantly surprised to find that the performance improvement was greater than we imagined. By April, another person joined in, and by May, most of the work had been basically completed, so We announced this result and named it the PHP NG project.

But what I didn’t expect was that we encountered a lot of resistance from the community, because when we were secretly developing PHP NG, the community was also working on a 64-bit support project, mainly initiated by Microsoft students. When we When PHP NG was released, they questioned that no one else understood how to maintain such a big patch suddenly, how to merge it with the 64-bit supported branch, etc., and then opposed the adoption of the PHP NG branch. At that time, I was very The frustrating, long-lasting quarrel also made me feel very tired. In the end, because I couldn't deal with it, I was so angry that I didn't care about my poor English. I responded to a complaint email in the mail group, calling on everyone to cherish this performance improvement branch.

There is also a very interesting episode. There are many supporters of PHP NG, and they are also very depressed about such quarrels. One day, some supporters posted such a news on the PHP official website: http:// php.net/archive/2014.php#id2014-05-27-1 which reads: "When we aren't looking for pictures of kittens on the internet, internals developers are nearly always looking for ways to improve PHP, a few developers have a focus on performance.", but the opponents said that day, no, PHP NG has not been accepted yet, and asked to delete this article. Fortunately, considering that the article had already been posted, this article was finally removed from the home page. The entrance to the article only retains the content in the archive. Many media have felt this mistake.

After arguing, we had no choice but to initiate a vote to decide whether to accept PHP NG. Fortunately, in the final vote, most people supported the PHP NG project and decided to start based on PHP NG. The development of our new version of PHP. At that time, it was not decided whether to use PHP6 or PHP7 version number (later voted to decide on PHP7). I often say that this experience made me feel the "pain of democracy".

Everyone can see what happens next. In the past two years, various new features have been added, performance has been continuously improved, many improvements that were previously unreasonable, etc. have been added to PHP7, allowing PHP7 is becoming more and more full-featured. From the changes in ZVAL at the bottom to scalar type hints, from the initial 30% performance improvement to the current performance leap of more than 100%, every change is worth looking forward to. And after several After several reluctant delays, finally, today, all this will be presented to you.

Sometimes I think that I am lucky. Lucky that I always have the opportunity to do things that I have never done before and that are challenging. Lucky that I can always feel my own growth. Lucky that most of my efforts will ultimately be successful. I have seen the results and been rewarded. I also sincerely hope that my luck can inspire more people to participate in open source.

In the future, we will continue to be committed to improving the performance and quality of PHP, so that more PHPers can continue to enjoy transparent improvements.

Finally, doing open source for so long has brought me a lot of gains. I want to thank everyone for the encouragement and the kind words of praise.

PS: I originally wanted to wait until PHP7 was released, but I thought I could build momentum for its arrival, so I released it first. PHP7 is now available for download. The official announcement will take into account the time difference. Let’s check it out the day after tomorrow. Download now. Address: http://php.net/get/php-7.0.0.tar.gz/from/a/mirror enjoy!

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1077039.htmlTechArticleWritten on the occasion of the release of PHP7, I have been doing open source for 4 or 5 years. From the initial Yaf, As of today's PHP7, I have participated in more and more projects, and more and more users are using my code. Tomorrow...
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Explain the concept of a PHP session in simple terms.Explain the concept of a PHP session in simple terms.Apr 26, 2025 am 12:09 AM

PHPsessionstrackuserdataacrossmultiplepagerequestsusingauniqueIDstoredinacookie.Here'showtomanagethemeffectively:1)Startasessionwithsession_start()andstoredatain$_SESSION.2)RegeneratethesessionIDafterloginwithsession_regenerate_id(true)topreventsessi

How do you loop through all the values stored in a PHP session?How do you loop through all the values stored in a PHP session?Apr 26, 2025 am 12:06 AM

In PHP, iterating through session data can be achieved through the following steps: 1. Start the session using session_start(). 2. Iterate through foreach loop through all key-value pairs in the $_SESSION array. 3. When processing complex data structures, use is_array() or is_object() functions and use print_r() to output detailed information. 4. When optimizing traversal, paging can be used to avoid processing large amounts of data at one time. This will help you manage and use PHP session data more efficiently in your actual project.

Explain how to use sessions for user authentication.Explain how to use sessions for user authentication.Apr 26, 2025 am 12:04 AM

The session realizes user authentication through the server-side state management mechanism. 1) Session creation and generation of unique IDs, 2) IDs are passed through cookies, 3) Server stores and accesses session data through IDs, 4) User authentication and status management are realized, improving application security and user experience.

Give an example of how to store a user's name in a PHP session.Give an example of how to store a user's name in a PHP session.Apr 26, 2025 am 12:03 AM

Tostoreauser'snameinaPHPsession,startthesessionwithsession_start(),thenassignthenameto$_SESSION['username'].1)Usesession_start()toinitializethesession.2)Assigntheuser'snameto$_SESSION['username'].Thisallowsyoutoaccessthenameacrossmultiplepages,enhanc

What are some common problems that can cause PHP sessions to fail?What are some common problems that can cause PHP sessions to fail?Apr 25, 2025 am 12:16 AM

Reasons for PHPSession failure include configuration errors, cookie issues, and session expiration. 1. Configuration error: Check and set the correct session.save_path. 2.Cookie problem: Make sure the cookie is set correctly. 3.Session expires: Adjust session.gc_maxlifetime value to extend session time.

How do you debug session-related issues in PHP?How do you debug session-related issues in PHP?Apr 25, 2025 am 12:12 AM

Methods to debug session problems in PHP include: 1. Check whether the session is started correctly; 2. Verify the delivery of the session ID; 3. Check the storage and reading of session data; 4. Check the server configuration. By outputting session ID and data, viewing session file content, etc., you can effectively diagnose and solve session-related problems.

What happens if session_start() is called multiple times?What happens if session_start() is called multiple times?Apr 25, 2025 am 12:06 AM

Multiple calls to session_start() will result in warning messages and possible data overwrites. 1) PHP will issue a warning, prompting that the session has been started. 2) It may cause unexpected overwriting of session data. 3) Use session_status() to check the session status to avoid repeated calls.

How do you configure the session lifetime in PHP?How do you configure the session lifetime in PHP?Apr 25, 2025 am 12:05 AM

Configuring the session lifecycle in PHP can be achieved by setting session.gc_maxlifetime and session.cookie_lifetime. 1) session.gc_maxlifetime controls the survival time of server-side session data, 2) session.cookie_lifetime controls the life cycle of client cookies. When set to 0, the cookie expires when the browser is closed.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools