Home Backend Development PHP Problem PHP extension installation does not take effect

PHP extension installation does not take effect

Oct 25, 2019 am 09:06 AM
php extension

PHP extension installation does not take effect

php extension installation does not take effect?

The reason why php does not take effect after restarting after installing the extension module And solutions

In the lnmp operation and maintenance environment, we often encounter that some extension modules that PHP depends on are not installed, which requires subsequent addition of these extension modules. After the extensions are installed and configured, you will often find that after the php-fpm service is restarted, these extensions are not actually loaded! The following is an example to illustrate:

Example environment:

php installation package storage path:/data/software/php-5.6.10.tar.gz

php Installation directory:/data/php

[root@zabbix ~]# ll /data/software/php-5.6.10.tar.gz
-rw-r--r-- 1 root root 18306403 6月  11 2015 /data/software/php-5.6.10.tar.gz
[root@zabbix ~]# ll -d /data/software/php-5.6.10
drwxr-xr-x 17 www www 4096 10月 13 19:38 /data/software/php-5.6.10
[root@zabbix ~]# ls /data/php/
bin  etc  include  lib  php  sbin  var
Copy after login

Use the php -m command and find that the bcmath and gettest extensions are missing

[root@zabbix ~]# vim /etc/profile
export PATH=$PATH:/data/php/bin
[root@zabbix ~]# source /etc/profile
 
[root@zabbix ~]# php -m|grep bcmath
[root@zabbix ~]# php -m|grep gettext
[root@zabbix ~]#
Copy after login

Now start installing the bcmatn and gettest extensions

Install bcmath extension

[root@zabbix ~]# cd /data/software/php-5.6.10/ext/bcmath/
[root@zabbix bcmath]# /data/php/bin/phpize
[root@zabbix bcmath]# ./configure --with-php-config=/data/php/bin/php-config
[root@zabbix bcmath]# make && make
.......
Copy after login

You will be informed of a directory after successful compilation

Installing shared extensions:     /data/php/lib/php/extensions/no-debug-non-zts-20131226
Copy after login

Install gettext extension

[root@zabbix ~]# cd /data/software/php-5.6.10/ext/gettext/
[root@zabbix gettext]# /data/php/bin/phpize
[root@zabbix gettext]# ./configure --with-php-config=/data/php/bin/php-config
[root@zabbix gettext]# make && make
.......
Copy after login

After successful compilation, you will be informed One directory

Installing shared extensions:     /data/php/lib/php/extensions/no-debug-non-zts-20131226
  
[root@zabbix ~]# ll /data/php/lib/php/extensions/no-debug-non-zts-20131226
Copy after login

Total usage 2336

-rwxr-xr-x 1 root root  380152 10月 13 23:03 bcmath.so
-rwxr-xr-x 1 root root   50376 10月 13 23:31 gettext.so
Copy after login

Configure php.ini

[root@zabbix ~]# vim /data/php/etc/php.ini
.........
extension_dir = "/data/php/lib/php/extensions/no-debug-non-zts-20131226"
extension=bcmath.so
extension=gettext.so
Copy after login

Restart php-fpm

[root@zabbix ~]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done
Copy after login

Then check again whether the bcmath and gettext extensions have taken effect after they are installed?

[root@zabbix ~]# php -m|grep bcmath
[root@zabbix ~]# php -m|grep gettext
[root@zabbix ~]#
Copy after login

Found that it didn’t take effect! why! ?

This is because php.ini was not specified when php-fpm was started, so it never took effect!

[root@zabbix etc]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done
[root@zabbix etc]# ps -ef|grep php-fpm
root     19529     1  0 23:37 ?        00:00:00 php-fpm: master process (/data/php/etc/php-fpm.conf)
www      19530 19529  0 23:37 ?        00:00:00 php-fpm: pool www
www      19531 19529  0 23:37 ?        00:00:00 php-fpm: pool www
root     19533 17173  0 23:37 pts/4    00:00:00 grep --color=auto php-fpm
Copy after login

Solution:

1) Specify the php.ini file to start the php-fpm service

[root@zabbix etc]# /etc/init.d/php-fpm stop
Gracefully shutting down php-fpm . done
[root@zabbix etc]# ps -ef|grep php-fpm
root     19541 17173  0 23:38 pts/4    00:00:00 grep --color=auto php-fpm
[root@zabbix etc]# /data/php/sbin/php-fpm -y /data/php/etc/php-fpm.conf -c /data/php/etc/php.ini
[root@zabbix etc]# ps -ef|grep php-fpm
root     19543     1  0 23:38 ?        00:00:00 php-fpm: master process (/data/php/etc/php-fpm.conf)
www      19544 19543  0 23:38 ?        00:00:00 php-fpm: pool www
www      19545 19543  0 23:38 ?        00:00:00 php-fpm: pool www
root     19547 17173  0 23:39 pts/4    00:00:00 grep --color=auto php-fpm
Copy after login

2) If after starting the above, the installed php extension still does not take effect! Then it may be that the php.ini file is not placed in the right path (here I directly enlarge the etc directory of php)

[root@zabbix ~]# ll /data/php/etc/php.ini
-rw-r--r-- 1 root root 73243 10月 13 23:32 /data/php/etc/php.ini
[root@zabbix ~]# cp /data/php/etc/php.ini /data/php/lib/
[root@zabbix ~]# ll /data/php/lib/php.ini
-rw-r--r-- 1 root root 73243 10月 13 23:35 /data/php/lib/php.ini
Copy after login

Then restart the php-fpm service!

[root@zabbix ~]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done
[root@zabbix ~]# ps -ef|grep php
root     19564     1  0 23:43 ?        00:00:00 php-fpm: master process (/data/php/etc/php-fpm.conf)
www      19565 19564  0 23:43 ?        00:00:00 php-fpm: pool www
www      19566 19564  0 23:43 ?        00:00:00 php-fpm: pool www
root     19568 17173  0 23:43 pts/4    00:00:00 grep --color=auto php
[root@zabbix ~]#
 
最后再次查看bcmath和gettext扩展有没有生效?
[root@zabbix ~]# php -m|grep bcmath
bcmath
[root@zabbix ~]# php -m|grep gettext
gettext
[root@zabbix ~]#
Copy after login

For more PHP related knowledge, please visit PHP Chinese website!

The above is the detailed content of PHP extension installation does not take effect. For more information, please follow other related articles on the PHP Chinese website!

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

Video Face Swap

Video Face Swap

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

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

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

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.

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

The Complete Guide: How to read and process XML data using the php extension SimpleXML The Complete Guide: How to read and process XML data using the php extension SimpleXML Jul 28, 2023 pm 02:46 PM

Complete Guide: How to Read and Process XML Data Using PHP Extension SimpleXML Introduction: In modern web development, processing and manipulating XML data is a very common task. As a powerful server-side scripting language, PHP provides a variety of extensions and functions for processing and manipulating XML data. Among them, the SimpleXML extension is a particularly useful tool that simplifies the process of reading and processing XML data. This article will provide you with a complete guide on how to use PHP extensions

See all articles