Table of Contents
php extension, an implementation of helloworld
Segmentation fault” (core dumped)
Home Backend Development PHP Tutorial PHP extension, an implementation of helloworld_PHP tutorial

PHP extension, an implementation of helloworld_PHP tutorial

Jul 13, 2016 am 09:56 AM

php extension, an implementation of helloworld



php -v
PHP 5.5.9-1ubuntu4.7 (cli) (built: Mar 16 2015 20:47:39)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

Configuration reference article: http://blog.csdn.net/niujiaming0819/article/details/8543028
This article also uses the steps in the reference article to implement the process on this machine

step 1. Download the php source code package. You can download it from the php official website. This time, the php5.6.8 version is used
step 2. Unzip the compressed package and enter the decompressed package (mysoft$ cd php-5.6.8/). Use the ls command to view the file directory in the source package and enter the ext folder (cd ext)

PHP extension, an implementation of helloworld_PHP tutorial

step 3. Establish an extension development framework ./ext_skel --extname=helloworld

Execute the above command to establish the framework for expansion development. You will find that there is an additional folder called helloworld under the ext folder, and some text is also output from the command line,

You will be prompted with the general steps to generate the extension.

PHP extension, an implementation of helloworld_PHP tutorial


PHP extension, an implementation of helloworld_PHP tutorial



step 4. Enter the root directory of the php source code and edit the file vim ext/helloworld/config.m4

Remove a few lines of comments in this file, which will be roughly between lines 16-19. The specific version may be different and then save the file (: wq)

PHP extension, an implementation of helloworld_PHP tutorial

step 5. Execute the command ./buildconf --force

in the php source code root directory

PHP extension, an implementation of helloworld_PHP tutorial

step 6. Compile the php program in the root directory of the php source code. Note that the command is ./configure --with-helloworld

PHP extension, an implementation of helloworld_PHP tutorial

The last error that occurred was not processed

PHP extension, an implementation of helloworld_PHP tutorial

step 7. Enter our extension directory helloworld and execute the command phpize (install phpize through sudo apt-get install php5-dev). At this time, your extension directory will generate many files that can be used Post compilation.

PHP extension, an implementation of helloworld_PHP tutorial

step 8.Compile our extension in the helloworld directory./configure --with-php-config=/usr/bin/php-config (use the php-config of your own environment) -- enable-helloworld

You can find the location of your php-config file through a command (find / -name php-config) as shown in the figure: My address is /usr/bin/php-config

PHP extension, an implementation of helloworld_PHP tutorial

PHP extension, an implementation of helloworld_PHP tutorial

step 9. Enter the extended helloworld directory, edit the file php_helloworld.h, and add the function PHP_FUNCTION(helloworldTest);

in the last line

helloworldTest can be changed to your favorite name, then save and exit

PHP extension, an implementation of helloworld_PHP tutorial

step 10. Open helloword.c with vim, implement our function in helloworld.c, then add the helloworldTest function to helloworld_functions[], save and exit

PHP extension, an implementation of helloworld_PHP tutorial

PHP extension, an implementation of helloworld_PHP tutorial

step 11.Execute the make command to compile the extension. I ran it relatively smoothly. If an error occurs, please carefully check the previous steps to see if there are any errors. I also made errors when I did it for the first time. Generally, there is a problem with the previous steps.

PHP extension, an implementation of helloworld_PHP tutorial

step12. Copy the compiled helloworld.so file to your local php extension directory

The extension directory can be viewed through php -r phpinfo(); | grep extension_dir to view the extension path of native php

PHP extension, an implementation of helloworld_PHP tutorial

step 13. Configure php.ini to enable helloworld.so extension

View the location of php.ini (php -r phpinfo(); | grep php.ini )

PHP extension, an implementation of helloworld_PHP tutorial

vim opens the php.ini file sudo vim /etc/php5/cli/php.ini

Add extension (extension=helloworld.so) at the end of the file

Tested by php -r phpinfo(); | grep helloworld

PHP extension, an implementation of helloworld_PHP tutorial

step 14. Test extension (php -r echo helloworldTest();)

PHP extension, an implementation of helloworld_PHP tutorial

During this process, I tried following the original author’s steps, but an error occurred

Segmentation fault” (core dumped)

After debugging, the original author changed PHP_FE_END to {null,null,null} when adding it to helloworld_functions[] in the helloworld.c file. When he compiled it again, there was no error, but he also commented PHP_FE_END. Modification After that, just recompile and copy.





www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/989127.htmlTechArticlephp extension, a helloworld implementation php -v PHP 5.5.9-1ubuntu4.7 (cli) (built: Mar 16 2015 20:47:39) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2...
Statement of this Website
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

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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to check which extensions are used in php How to check which extensions are used in php Aug 01, 2023 pm 04:13 PM

You can check which extensions are used by PHP by viewing the phpinfo() function output, using command line tools, and checking the PHP configuration file. 1. View the phpinfo() function output, create a simple PHP script, save this script as phpinfo.php, and upload it to your web server. Access this file in the browser and use the browser's search function. Just look for the keyword "extension" or "extension_loaded" on the page to find information about the extension.

How to use php to extend PDO to connect to Oracle database How to use php to extend PDO to connect to Oracle database Jul 29, 2023 pm 07:21 PM

How to use PHP to extend PDO to connect to Oracle database Introduction: PHP is a very popular server-side programming language, and Oracle is a commonly used relational database management system. This article will introduce how to use PHP extension PDO (PHPDataObjects) to connect to Oracle database. 1. Install the PDO_OCI extension. To connect to the Oracle database, you first need to install the PDO_OCI extension. Here are the steps to install the PDO_OCI extension: Make sure

How to extend SuiteCRM's report generation capabilities using PHP How to extend SuiteCRM's report generation capabilities using PHP Jul 19, 2023 am 10:27 AM

How to use PHP to extend the report generation function of SuiteCRM SuiteCRM is a powerful open source CRM system that provides rich functions to help enterprises manage customer relationships. One of the important functions is report generation. Using reports can help enterprises better understand their business situations and make correct decisions. This article will introduce how to use PHP to extend the report generation function of SuiteCRM and provide relevant code examples. Before starting, you need to make sure that SuiteCRM is installed.

Getting Started with PHP: PHP Extension Installation Getting Started with PHP: PHP Extension Installation May 20, 2023 am 08:49 AM

When developing with PHP, we may need to use some PHP extensions. These extensions can provide us with more functions and tools, making our development work more efficient and convenient. But before using these extensions, we need to install them first. This article will introduce you to how to install PHP extensions. 1. What is a PHP extension? PHP extensions refer to components that provide additional functionality and services to the PHP programming language. These components can be installed and used through PHP's extension mechanism. PHP extension can help us with

PHP extension and PHP version management of Pagoda Panel PHP extension and PHP version management of Pagoda Panel Jun 21, 2023 am 08:49 AM

Pagoda Panel is an open source server management panel. While providing website operators with convenient website management, database management, SSL certificate management and other services, it also provides powerful PHP extension and PHP version management functions, making server management easier. Be more simple and efficient. 1. PHP extension PHP extension is a module used to enhance PHP functions. By installing PHP extensions, more functions and services can be implemented, such as: accelerator: accelerator can significantly improve PHP performance, and reduce service load by caching PHP scripts.

How to use PHP's geoip extension? How to use PHP's geoip extension? Jun 01, 2023 am 09:13 AM

PHP is a popular server-side scripting language that can handle dynamic content on web pages. The geoip extension for PHP allows you to get information about the user's location in PHP. In this article, we’ll cover how to use PHP’s geoip extension. What is the GeoIP extension for PHP? The geoip extension for PHP is a free, open source extension that allows you to obtain data about IP addresses and location information. This extension can be used with the GeoIP database, a database developed by MaxMin

In-depth exploration of PHP extension development: Uncovering the behind-the-scenes secrets of PHP extension development In-depth exploration of PHP extension development: Uncovering the behind-the-scenes secrets of PHP extension development Feb 19, 2024 pm 11:40 PM

PHP extension development is the art of creating custom functionality, extending PHP core functionality and building more powerful applications. It opens up new possibilities in the PHP world, allowing developers to transcend the basic limitations of the language. This article will take you on a journey of PHP extension development, providing you with comprehensive knowledge and practical guidance from basic concepts to advanced techniques. PHP extension development basics Before starting PHP extension development, you need to understand some basic concepts. What are PHP extensions? A PHP extension is a dynamic link library (DLL) that extends PHP core functionality and provides new data types, functions and classes. Advantages of PHP Extensions PHP extensions have many advantages, including: scalability, flexibility, performance optimization, and code reuse. PHP

Tutorial: Add message push functionality to your application using Aurora Push and its PHP extension Tutorial: Add message push functionality to your application using Aurora Push and its PHP extension Jul 26, 2023 am 08:07 AM

Tutorial: Use Aurora Push and its PHP extension to add push message functionality to your application. Introduction: In today's mobile application development, push message functionality has become an indispensable part of various applications. Aurora push is one of the most commonly used and most popular solutions in this regard. This tutorial will introduce how to use Aurora Push and its PHP extension to add message push functionality to your application, and provide corresponding code examples for reference. 1. Introduction to Jiguang Push Jiguang Push is a cross-platform message push solution based on cloud services.

See all articles