# Linux **CentOS** ```bash #添加epel源 yum install epel-release rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum --enablerepo=remi install php74-php yum --enablerepo=remi install php74-php php74-php-gd php74-php-xml php74-php-sockets php74-php-session php74-php-snmp php74-php-mysql #运行并查看版本 php74 -v #重启命令php-fpm systemctl restart php74-php-fpm #添加自动启动 systemctl enable php74-php-fpm #查看php7.4的安装路径 whereis php #链接php文件 ln -s /opt/remi/php74/root/usr/bin/php /usr/bin/php # The current PHP memory limit is below the recommended value of 512MB. vi /etc/opt/remi/php74/php.ini memory_limit = 512M #如果你运行的是nginx而不是apache,修改 vi /etc/opt/remi/php74/php-fpm.d/www.conf user = apache group = apache # Replace the values with user = nginx group = nginx #卸载php7.4 yum remove php74-php* ###################################################################### #获取rpm源 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum list php* yum install -y xxx ##################################################################### #安装php yum install php php-devel #安装php扩展组件 yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc ``` **Ubuntu** ```bash #安装php #版本可选 sudo apt install php7.4 sudo apt install php7.2 #安装php扩展组件 sudo apt install php7.2-gd sudo apt install php7.2-soap sudo apt install php7.2-gmp sudo apt install php7.2-odbc sudo apt install php7.2-pspell sudo apt install php7.2-bcmath sudo apt install php7.2-enchant sudo apt install php7.2-imap sudo apt install php7.2-ldap sudo apt install php7.2-opcache sudo apt install php7.2-readline sudo apt install php7.2-sqlite3 sudo apt install php7.2-xmlrpc sudo apt install php7.2-bz2 sudo apt install php7.2-interbase sudo apt install php7.2-pgsql sudo apt install php7.2-recode sudo apt install php7.2-sybase sudo apt install php7.2-xsl sudo apt install php7.2-cgi sudo apt install php7.2-dba sudo apt install php7.2-phpdbg sudo apt install php7.2-snmp sudo apt install php7.2-tidy sudo apt install php7.2-zip ``` **源码安装** 1、首先进行yum安装扩展 ```bash yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c libicu-devel libmcrypt-devel ``` 2、之后进行解压php 官网下载php.tar.gz文件 ```bash wget https://www.php.net/distributions/php-7.4.25.tar.gz --no-check-certificate tar -zxvf php-7.4.25.tar.gz cd php-7.4.25 ``` 3、编译安装,编译的时候可能会出现各种报错情况,下一篇主要写编译是常见的错误及解决办法: ```bash ./configure \ --prefix=/usr/local/php7 \ --with-apxs2=/usr/local/apache/bin/apxs \ --with-config-file-path=/usr/local/php7/etc \ --with-mysql \ --with-mysqli \ --with-mysql-sock \ --enable-pdo \ --with-pdo-mysql \ --with-gd \ --with-iconv \ --with-curl \ --with-zlib \ --enable-xml \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --enable-mbregex \ --enable-mbstring \ --enable-gd-native-ttf \ --with-openssl \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-zip \ --enable-soap \ --without-pear \ --with-gettext \ --enable-session \ --with-jpeg-dir=/usr/local/jpeg \ --with-freetype-dir \ --with-png-dir=/usr/local/pngp \ --with-bz2 \ ``` 4、编译成功后安装: ```bash make && make install ``` 5、安装成功后配置环境变量: 为了使用方便,可以在/etc/profile文件末尾添加php环境变量 : ```bash PATH=$PATH:/usr/local/php/bin export PATH ``` 6、保存后刷新环境变量: ```bash source /etc/profile  #更新 ``` 7、查看环境变量: ```bash echo $PATH ``` 8、看到php环境变量的路径后,以后就可以直接使用php命令了,查看php版本: ```bash php -v ``` 9、现在的PHP没有.ini文件和配置文件,还需要配置PHP-FPM: ```bash cp php.ini-production /etc/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm ``` 10、php-fpm的启动、停止和重启: ```bash service php-fpm start   #启动 service php-fpm stop   #停止 service php-fpm restart #重启 ``` 安装成功后添加一个自定义根目录里面添加index.php文件。 # Windows 1、下载解压 需要下载线程安全的版本 https://windows.php.net/download/ ```bash php -v ``` 2、将PHP作为一个模块提供给apache加载 LoadModule php7_module "PHP安装路径\php7apache2_4.dll" 在Apache中以module的方式加载PHP,“php7_module”中的“7”要和PHP的版本对应;此外,不同的PHP版本“php7apache2_4.dll”可能不同。 ```bash #文件D:\Program Files\Apache24\conf\httpd.conf //添加 LoadModule php7_module "D:/Program Files/php/php7apache2_4.dll" AddType application/x-httpd-php .php //修改 DirectoryIndex index.php index.html index.htm ``` 3、加载php配置 将php.ini-development文件复制一份,并改名为php.ini. 4、设置时区 ```bash #php.ini(;为注释符) [Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = PRC ``` 5、配置mysql模块 ```bash #php.ini extension=php_mysqli.dll #进入PHP安装目录,复制一份php.ini-development 改名为 php.ini 放到安装路径下,打开找到 ;extension_dir=ext,去掉注释符,将值改为 PHP安装路径\ext。 ``` 6、启动Apache服务器 ```bash httpd -t #测试配置文件 httpd -M #查看加载的模块 httpd #启动apache服务器 ```