php扩展安装不生效

Oct 25, 2019 am 09:06 AM
sambungan php

php扩展安装不生效

php扩展安装不生效?

php安装扩展模块后,重启不生效的原因及解决办法

 

在lnmp运维环境中,我们经常会碰到有些php依赖的扩展模块没有安装,这就需要后续添加这些扩展模块。在扩展被安装配置后,往往会发现php-fpm服务重启后,这些扩展并没有真正加载进去!下面就以一个示例进行说明:

示例环境:

php安装包存放路径:/data/software/php-5.6.10.tar.gz

php安装目录:/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
Salin selepas log masuk

使用php -m命令,发现少了bcmath和gettest扩展

[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 ~]#
Salin selepas log masuk

现在开始安装bcmatn和gettest扩展

安装bcmath扩展

[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
.......
Salin selepas log masuk

编译成功之后会告诉你一个目录

Installing shared extensions:     /data/php/lib/php/extensions/no-debug-non-zts-20131226
Salin selepas log masuk

安装gettext扩展

[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
.......
Salin selepas log masuk

编译成功之后会告诉你一个目录

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
Salin selepas log masuk

总用量 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
Salin selepas log masuk

配置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
Salin selepas log masuk

重启php-fpm

[root@zabbix ~]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done
Salin selepas log masuk

然后再次查看bcmath和gettext扩展安装后,是否生效?

[root@zabbix ~]# php -m|grep bcmath
[root@zabbix ~]# php -m|grep gettext
[root@zabbix ~]#
Salin selepas log masuk

发现并没有生效! why!?

这是因为php-fpm启动时,没指定php.ini,所以一直都没生效!

[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
Salin selepas log masuk

解决办法:

1)指定php.ini文件来启动php-fpm服务

[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
Salin selepas log masuk

2)要是上面启动后,安装的php扩展还是没有生效!那就可能是php.ini文件没有放对路径(这里我是直接放大php的etc目录下的)

[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
Salin selepas log masuk

然后再接着重启php-fpm服务即可!

[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 ~]#
Salin selepas log masuk

更多PHP相关知识,请访问PHP中文网

Atas ialah kandungan terperinci php扩展安装不生效. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyemak sambungan mana yang digunakan dalam php Bagaimana untuk menyemak sambungan mana yang digunakan dalam php Aug 01, 2023 pm 04:13 PM

Anda boleh menyemak sambungan yang digunakan oleh PHP dengan melihat output fungsi phpinfo(), menggunakan alat baris arahan dan menyemak fail konfigurasi PHP. 1. Lihat output fungsi phpinfo(), buat skrip PHP mudah, simpan skrip ini sebagai phpinfo.php, dan muat naik ke pelayan web anda Akses fail ini dalam pelayar dan gunakan fungsi carian pelayar "extension" atau "extension_loaded" pada halaman untuk mencari maklumat tentang sambungan.

Cara menggunakan php untuk melanjutkan PDO untuk menyambung ke pangkalan data Oracle Cara menggunakan php untuk melanjutkan PDO untuk menyambung ke pangkalan data Oracle Jul 29, 2023 pm 07:21 PM

Cara menggunakan PHP untuk melanjutkan PDO untuk menyambung ke pangkalan data Oracle Pengenalan: PHP ialah bahasa pengaturcaraan sebelah pelayan yang sangat popular, dan Oracle ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan. Artikel ini akan memperkenalkan cara menggunakan sambungan PHP PDO (PHPDataObjects) untuk menyambung ke pangkalan data Oracle. 1. Pasang sambungan PDO_OCI Untuk menyambung ke pangkalan data Oracle, anda perlu memasang sambungan PDO_OCI terlebih dahulu. Berikut ialah langkah-langkah untuk memasang sambungan PDO_OCI: Pastikan

Bagaimana untuk melanjutkan keupayaan penjanaan laporan SuiteCRM menggunakan PHP Bagaimana untuk melanjutkan keupayaan penjanaan laporan SuiteCRM menggunakan PHP Jul 19, 2023 am 10:27 AM

Cara menggunakan PHP untuk melanjutkan fungsi penjanaan laporan SuiteCRM SuiteCRM ialah sistem CRM sumber terbuka yang berkuasa yang menyediakan fungsi yang kaya untuk membantu perusahaan mengurus perhubungan pelanggan. Salah satu fungsi penting ialah penjanaan laporan Menggunakan laporan boleh membantu perusahaan lebih memahami situasi perniagaan mereka dan membuat keputusan yang betul. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melanjutkan fungsi penjanaan laporan SuiteCRM dan menyediakan contoh kod yang berkaitan. Sebelum memulakan, anda perlu memastikan SuiteCRM dipasang.

Bermula dengan PHP: Pemasangan Sambungan PHP Bermula dengan PHP: Pemasangan Sambungan PHP May 20, 2023 am 08:49 AM

Apabila membangun dengan PHP, kami mungkin perlu menggunakan beberapa sambungan PHP. Sambungan ini boleh memberikan kami lebih banyak fungsi dan alatan, menjadikan pembangunan kami berfungsi dengan lebih cekap dan mudah. Tetapi sebelum menggunakan sambungan ini, kami perlu memasangnya terlebih dahulu. Artikel ini akan memperkenalkan anda kepada cara memasang sambungan PHP. 1. Apakah sambungan PHP? Sambungan PHP merujuk kepada komponen yang menyediakan fungsi dan perkhidmatan tambahan kepada bahasa pengaturcaraan PHP. Komponen ini boleh dipasang dan digunakan melalui mekanisme sambungan PHP. Sambungan PHP boleh membantu kami

Bagaimana untuk menggunakan sambungan geoip PHP? Bagaimana untuk menggunakan sambungan geoip PHP? Jun 01, 2023 am 09:13 AM

PHP ialah bahasa skrip sebelah pelayan yang popular yang boleh mengendalikan kandungan dinamik pada halaman web. Sambungan geoip untuk PHP membolehkan anda mendapatkan maklumat tentang lokasi pengguna dalam PHP. Dalam artikel ini, kami akan membincangkan cara menggunakan sambungan geoip PHP. Apakah sambungan GeoIP untuk PHP? Sambungan geoip untuk PHP ialah sambungan sumber terbuka percuma yang membolehkan anda mendapatkan data tentang alamat IP dan maklumat lokasi. Sambungan ini boleh digunakan dengan pangkalan data GeoIP, pangkalan data yang dibangunkan oleh MaxMin

Sambungan PHP dan pengurusan versi PHP Panel Pagoda Sambungan PHP dan pengurusan versi PHP Panel Pagoda Jun 21, 2023 am 08:49 AM

Pagoda Panel ialah panel pengurusan pelayan sumber terbuka Sambil menyediakan pengendali laman web dengan pengurusan laman web yang mudah, pengurusan pangkalan data, pengurusan sijil SSL dan perkhidmatan lain, ia juga menyediakan sambungan PHP yang berkuasa dan fungsi pengurusan versi PHP, menjadikan pengurusan pelayan lebih mudah dan cekap. 1. Sambungan PHP Sambungan PHP ialah modul yang digunakan untuk meningkatkan fungsi PHP Dengan memasang sambungan PHP, lebih banyak fungsi dan perkhidmatan boleh dilaksanakan, seperti: accelerator: pemecut boleh meningkatkan prestasi PHP dengan ketara, dan mengurangkan beban perkhidmatan dengan menyimpan skrip PHP.

Penerokaan mendalam pembangunan sambungan PHP: Mendedahkan rahsia di sebalik tabir pembangunan sambungan PHP Penerokaan mendalam pembangunan sambungan PHP: Mendedahkan rahsia di sebalik tabir pembangunan sambungan PHP Feb 19, 2024 pm 11:40 PM

Pembangunan sambungan PHP ialah seni mencipta fungsi tersuai, memanjangkan fungsi teras PHP dan membina aplikasi yang lebih berkuasa. Ia membuka kemungkinan baharu dalam dunia PHP, membolehkan pembangun mengatasi batasan asas bahasa. Artikel ini akan membawa anda dalam perjalanan pembangunan sambungan PHP, memberikan anda pengetahuan komprehensif dan panduan praktikal daripada konsep asas kepada teknik lanjutan. Asas pembangunan sambungan PHP Sebelum memulakan pembangunan sambungan PHP, anda perlu memahami beberapa konsep asas. Apakah sambungan PHP? Sambungan PHP ialah perpustakaan pautan dinamik (DLL) yang memanjangkan fungsi teras PHP dan menyediakan jenis data, fungsi dan kelas baharu. Kelebihan Sambungan PHP Sambungan PHP mempunyai banyak kelebihan, termasuk: kebolehskalaan, fleksibiliti, pengoptimuman prestasi dan penggunaan semula kod. PHP

Panduan Lengkap: Cara membaca dan memproses data XML menggunakan sambungan php SimpleXML Panduan Lengkap: Cara membaca dan memproses data XML menggunakan sambungan php SimpleXML Jul 28, 2023 pm 02:46 PM

Panduan Lengkap: Cara Membaca dan Memproses Data XML Menggunakan Sambungan PHP SimpleXML Pengenalan: Dalam pembangunan web moden, pemprosesan dan memanipulasi data XML adalah tugas yang sangat biasa. Sebagai bahasa skrip sebelah pelayan yang berkuasa, PHP menyediakan pelbagai sambungan dan fungsi untuk memproses dan memanipulasi data XML. Antaranya, sambungan SimpleXML ialah alat yang sangat berguna yang memudahkan proses membaca dan memproses data XML. Artikel ini akan memberikan anda panduan lengkap tentang cara menggunakan sambungan PHP

See all articles