HCRM博客

在CentOS系统上轻松编译安装PHP

在CentOS上编译PHP是一个相对复杂的过程,涉及多个步骤和依赖项,下面我将详细描述如何在CentOS上编译PHP,并提供相关的FAQs。

准备工作

1.1 更新系统

在CentOS系统上轻松编译安装PHP-图1
(图片来源网络,侵权删除)

确保你的CentOS系统是最新的,打开终端并运行以下命令:

  • sudo yum update y

1.2 安装必要的软件包

编译PHP需要一些开发工具和库,运行以下命令来安装它们:

  • sudo yum groupinstall "Development Tools" y
  • sudo yum install openssldevel libxml2devel bzip2devel libjpegdevel libpngdevel freetypedevel libmcryptdevel libcurldevel libxsltdevel gddevel ldapdevel y

1.3 下载PHP源码

你可以从PHP官方网站下载PHP的源码,下载PHP 7.4.16版本:

  • cd /usr/src
  • sudo wget https://www.php.net/distributions/php7.4.16.tar.gz
  • sudo tar xzf php7.4.16.tar.gz
  • cd php7.4.16

配置和编译PHP

2.1 配置PHP

在CentOS系统上轻松编译安装PHP-图2
(图片来源网络,侵权删除)

在配置PHP之前,你需要决定要启用哪些扩展,你可以通过./configure脚本的参数来指定这些选项。

  • ./configure prefix=/usr/local/php \
  • withconfigfilepath=/usr/local/php \
  • enablembstring \
  • withcurl \
  • withopenssl \
  • withzlib \
  • enableftp \
  • withgd \
  • enablesession \
  • withmysqli \
  • withpdomysql \
  • withxml \
  • withxsl \
  • withbz2 \
  • withsodium=shared,/usr \
  • withgettext \
  • withiconvdir \
  • withfreetypedir=/usr/include/freetype2 \
  • withjpegdir \
  • withpngdir \
  • enableexif \
  • enablesoap \
  • enablesockets \
  • enablesysvsem \
  • enablesysvshm \
  • enableopcache \
  • withoutpear

2.2 编译和安装PHP

配置完成后,运行以下命令来编译和安装PHP:

  • make j$(nproc)
  • sudo make install

配置PHP

3.1 复制配置文件模板

PHP安装完成后,复制默认的配置文件模板到合适的位置:

  • sudo cp /usr/local/php/php.iniproduction /usr/local/php/php.ini

3.2 更新环境变量

为了使系统能够找到PHP的可执行文件,需要更新环境变量,编辑/etc/profile文件并添加以下行:

  • export PATH=/usr/local/php/bin:$PATH
  • export PHP_INI_DIR=/usr/local/php/php.ini

然后运行以下命令使更改生效:

  • source /etc/profile

验证安装

验证PHP是否安装成功并正常工作:

  • php v

你应该会看到类似以下的输出,显示PHP的版本信息:

  • PHP 7.4.16 (cli) (built: Mar 19 2021 15:48:36) ( NTS )
  • Copyright (c) The PHP Group
  • Zend Engine v3.4.0, Copyright (c) Zend Technologies
  • with Zend OPcache v7.4.16, enabled

相关问答FAQs

Q1: 如何更改PHP的配置文件路径?

A1: 你可以通过修改php.ini文件中的php_ini_scanned_files设置来更改PHP配置文件的路径,如果你希望将配置文件放在/etc/php/php.ini,你可以在php.ini文件中找到以下行并进行修改:

  • ; Directory in which the loadable extensions (modules) reside.
  • ; http://php.net/extensiondir
  • extension_dir = "/usr/local/php/lib/php/extensions/nodebugnonzts20190902"

将其改为:

  • ; Directory in which the loadable extensions (modules) reside.
  • ; http://php.net/extensiondir
  • extension_dir = "/etc/php/extensions"

然后在/etc/php/php.ini中添加以下内容:

  • [PHP]
  • include_path = ".:/usr/local/php/share/pear"

确保新的配置文件路径被包含在环境变量中:

  • export PHP_INI_DIR=/etc/php/php.ini
  • source /etc/profile

Q2: 如何添加新的PHP扩展?

A2: 添加新的PHP扩展通常涉及以下几个步骤:

1、下载扩展源码:从扩展的官方网站下载源码,下载redis扩展:

  • cd /usr/src
  • sudo wget https://pecl.php.net/get/redis
  • sudo tar xzf redis
  • cd redis5.3.4

2、编译和安装扩展:使用phpize准备编译环境,然后运行./configuremake命令进行编译和安装。

  • sudo /usr/local/php/bin/phpize
  • ./configure withphpconfig=/usr/local/php/bin/phpconfig
  • make && sudo make install

3、启用扩展:在php.ini文件中添加以下行以启用新安装的扩展:

  • extension=redis.so

4、重启Web服务器:如果你在使用Web服务器(如apache或Nginx),请重启服务器以使更改生效,对于Apache:

  • sudo systemctl restart httpd

对于Nginx,通常不需要重启,因为PHPFPM会自动检测到新的扩展。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/14407.html

分享:
扫描分享到社交APP
上一篇
下一篇