Linux上编译安装PHP
这篇文章主要介绍了关于Linux上编译安装PHP,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
之前在服务器上编译安装了PHP运行环境,但是安装完过了一段时间就差不多忘记了,只是零零星星记得一些简单步骤,现在又重新在新的服务器上安装了一遍,将安装过程记录下来,方便以后查看,同时也提供给新手做个参考。
1. 首先要下载PHP的源码安装包,可以到PHP官网下载 http://php.net/,进入官网后点击导航栏的“Downloads”选项,即可计入下载页面,这时候你可以根据地区选择下载的服务器,这里我选用 cn2.php.net 下载
2. 下载完成后使用常用的ftp工具将源码包上载到要安装PHP的服务器上,这里我们暂放在 /tmp 目录下
(注:也可以在Linux下直接使用Linux 文件下载工具wget 进行下载,形式为wget -O php-5.6.15.tar.gz http://cn2.php.net/get/php-5.6.15.tar.gz/from/this/mirror,此处应该使用-O 对下载的文件进行命名,否则下载的文件名称将为“mirror”,另外,还可以使用搜狐的镜像地址下载 http://mirrors.sohu.com/php/***)
3. 解压该压缩文件
# tar -zxf php-5.6.15.tar.gz
4. 上一步产生 php-5.6.15 目录,进入该目录,执行该目录下的 configure 可执行文件(其中\在Linux命令中代表换行),安装前必须先安装MySQL及其他一些扩展库才行,具体可以根据安装过程的报错信息补充没有安装的拓展
# ./configure \ --prefix=/usr/local/php-5.6.15 \ --with-config-file-path=/usr/local/php-5.6.15/etc \ --with-mysqli \ --with-xmlrpc \ --with-openssl \ --with-zlib \ --with-freetype-dir \ --with-png-dir \ --with-jpeg-dir \ --with-gd \ --with-iconv=/usr/local/libiconv \ --enable-sockets \ --enable-zend-multibyte \ --enable-soap \ --enable-mbstring \ --enable-static \ --enable-gd-native-ttf \ --with-mcrypt \ --with-mhash \ --with-curl \ --with-xsl \ --enable-ftp \ --with-libxml-dir \ --enable-pcntl \ --enable-bcmath \ --enable-fpm
相对应的解释如下:
--prefix=/usr/local/php-5.6.15 \ (指定PHP的安装目录) --with-apxs2=/usr/sbin/apxs \ (使PHP支持Apache服务器,使用yum安装Apache时,apxs默认在usr/sbin/目录下) --with-config-file-path=/usr/local/php-5.6.12/etc \ (指定PHP的配置文件php.ini目录) --with-mysqli[=DIR] \ (指定mysqli的安装路径,使PHP支持mysqli,PHP最新版本已经不再支持mysql扩展了) --with-xmlrpc \ (使PHP支持XML-RPC,即XML远程方法调用) --with-openssl \ (使PHP编译安装openssl模块,加密传输https时用到的) --with-zlib[=DIR] \ (配置gd库的支持包zlib,zlib是提供数据压缩用的函式库) --with-freetype-dir[=DIR] \ (配置gd库的支持包freetype,FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎) --with-png-dir[=DIR] \ (配置gd库的支持包libpng) --with-jpeg-dir[=DIR] \ (配置gd库的支持包libjpeg) --with-gd \ (静态编译gd库) --with-iconv=/usr/local/libiconv \ (iconv命令可以将一种已知的字符集文件转换成另一种已知的字符集文件) --enable-sockets \ (打开对socket的支持) --enable-zend-multibyte \ (支持zend的多字节) --enable-soap \ (打开对soap的支持,简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML的协议,它被设计成在WEB上交换结构化的和固化的信息) --enable-mbstring \ (打开对多字节多字符串的支持) --enable-static \ (生成静态链接库,在编译过程中,就将静态库中的代码载入程序,由此生成出的可执行程序在运行中不再需要静态库,但因为库中的程序代码被复制进目标程序中,因此生成的程序体积会比较大) --enable-gd-native-ttf \ (支持TrueType字符串函数库) --with-mcrypt \ (mcrypt算法扩展) --with-mhash \ (mhash算法扩展) --with-curl \ (打开curl浏览工具的支持) --with-xsl \ (打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件) --enable-ftp \ (打开对ftp的支持) --with-libxml-dir \ (打开libxml2库的支持) --enable-pcntl \ (扩展可以支持php的多线程操作) --enable-bcmath \ (打开图片大小调整,用到zabbix监控的时候用到了这个模块) --enable-fpm (打开对php-fpm的支持)
(注:上述为编译安装的配置选项相对比较完整,可以选择性配置,但也有一些配置选项没有给出,另外,由于php已经集成GD库,但前提是支持包应事先安装,如zlib, png, jpeg, freetype等)
5. 针对上述安装过程中出现的报错,找出未安装的扩展,使用yum或下载源码包进行手动编译安装进行安装后再重新编译安装PHP
6. PHP安装完成,进行配置,进入/usr/local/php-5.6.15/etc 中,发现没有php.ini文件,这时应该将安装包目录 /tmp/php-5.6.15 下的php.ini-production 复制到 /usr/local/php-5.6.15/etc 下
# cp /tmp/php-5.6.15/php.ini-production php.ini
(注:php.ini-development 适合开发程式使用,即测试用,php.ini-production 拥有较高的安全性设定,则适合上线当产品使用,一般将php.ini-production修改为php.ini,确保测试环境(本地)与正式环境(线上)一致。这里关于PHP的相关配置这里不做阐述)
7. 将 /usr/local/php-5.6.15/bin 添加到系统环境变量中,方便使用php和phpize等命令
# vi /etc/profile
在打开的文件末尾加上 export PATH="$PATH:/usr/local/php-5.6.15/bin" ,保存文件后重启系统即可
8. 运行php,PHP的运行相当于运行php-fpm
# /usr/local/php-5.6.15/bin/php-fpm -c /usr/local/php-5.6.15/etc/php.ini -y /usr/local/php-5.6.15/etc/php-fpm.conf
最后,简单说下PHP的开机启动设置,因为一般的开机启动软件都应该被作为一项系统服务保存在 /etc/rc.d/init.d 中,所以php-fpm也应该作为一个可运行文件存在于该目录下(与MySQL的mysqld以及Apache的httpd相似),然而进入该目录下并未发现php-fpm,没关系,那我们就自己写一个脚本吧。具体脚本如下,可以直接在 /etc/rc.d/init.d 下新建一个php-fpm文件,复制下面代码,修改响应配置与自己所安装的PHP环境相同即可。
#!/bin/bash # # Startup script for the PHP-FPM server. # # chkconfig: 345 85 15 # description: PHP is an HTML-embedded scripting language # processname: php-fpm # config: /usr/local/php-5.6.15/etc/php.ini # Source function library. . /etc/rc.d/init.d/functions PHP_PATH=/usr/local/php-5.6.15 DESC="php-fpm daemon" NAME=php-fpm # php-fpm路径 DAEMON=$PHP_PATH/sbin/$NAME # 配置文件路径 CONFIGFILE=$PHP_PATH/etc/php-fpm.conf # PID文件路径(在php-fpm.conf设置) PIDFILE=$PHP_PATH/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME # Gracefully exit if the package has been removed. test -x $DAEMON || exit 0 rh_start() { $DAEMON -y $CONFIGFILE || echo -n " already running" } rh_stop() { kill -QUIT `cat $PIDFILE` || echo -n " not running" } rh_reload() { kill -HUP `cat $PIDFILE` || echo -n " can't reload" } case "$1" in start) echo -n "Starting $DESC: $NAME" rh_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" rh_stop echo "." ;; reload) echo -n "Reloading $DESC configuration..." rh_reload echo "reloaded." ;; restart) echo -n "Restarting $DESC: $NAME" rh_stop sleep 1 rh_start echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2 exit 3 ;; esac exit 0
之后可以通过使用service 命令进行操作
# service php-fpm start 启动php-fpm, # service php-fpm stop 关闭php-fpm, # service php-fpm restart重启php-fpm
使用chkconfig 命令添加、删除和查看系统开机自启动服务
# chkconfig --list 显示开机可以自动启动的服务 # chkconfig --add php-fpm 添加开机自动启动php-fpm服务 # chkconfig --del php-fpm 删除开机自动启动php-fpm服务
好了,关于PHP的安装基本上就完成啦~
Atas ialah kandungan terperinci Linux上编译安装PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

Lima komponen asas sistem Linux adalah: 1. Kernel, 2. Perpustakaan Sistem, 3. Utiliti Sistem, 4. Antara Muka Pengguna Grafik, 5. Aplikasi. Kernel menguruskan sumber perkakasan, Perpustakaan Sistem menyediakan fungsi yang telah dikompilasi, utiliti sistem digunakan untuk pengurusan sistem, GUI menyediakan interaksi visual, dan aplikasi menggunakan komponen ini untuk melaksanakan fungsi.

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Phphassignificantelympactedwebdevelopmentandextendsbeyondit.1) itpowersmajorplatformslikeworderpressandexcelsindatabaseIntions.2) php'SadaptabilityAldoStoScaleforlargeapplicationFrameworksLikelara.3)

PHP sesuai untuk pembangunan web dan sistem pengurusan kandungan, dan Python sesuai untuk sains data, pembelajaran mesin dan skrip automasi. 1.PHP berfungsi dengan baik dalam membina laman web dan aplikasi yang cepat dan berskala dan biasanya digunakan dalam CMS seperti WordPress. 2. Python telah melakukan yang luar biasa dalam bidang sains data dan pembelajaran mesin, dengan perpustakaan yang kaya seperti numpy dan tensorflow.

Apa yang masih popular adalah kemudahan penggunaan, fleksibiliti dan ekosistem yang kuat. 1) Kemudahan penggunaan dan sintaks mudah menjadikannya pilihan pertama untuk pemula. 2) Bersepadu dengan pembangunan web, interaksi yang sangat baik dengan permintaan HTTP dan pangkalan data. 3) Ekosistem yang besar menyediakan banyak alat dan perpustakaan. 4) Komuniti aktif dan Sumber Sumber Terbuka menyesuaikan mereka dengan keperluan baru dan trend teknologi.

Untuk melihat alamat repositori Git, lakukan langkah -langkah berikut: 1. Buka baris arahan dan navigasi ke direktori repositori; 2. Jalankan perintah "Git Remote -V"; 3. Lihat nama repositori dalam output dan alamat yang sepadan.
