Linux安装PHP环境,详细步骤以及常见问题解决方案

Linux安装PHP环境,详细步骤以及常见问题解决方案


1、下载安装包,这里安装php-7.4.22.tar.gz
2、上传到local并解压
  cd php-7.4.22
3、安装必备依赖
(如果yum源需要更新可以运行   yum -y update)

yum -y install 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 db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel libzip gcc-c++

4、进行预编译
cd  /usr/local/php-7.4.22

./configure  \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/lib \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-fpm \
--enable-opcache \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-mysqlnd-compression-support \
--with-iconv-dir \
--with-zlib \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--enable-intl \
--enable-ftp \
--enable-gd \
--enable-gd-jis-conv \
--with-jpeg   \
--with-freetype  \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--with-zip \
--enable-soap \
--with-gettext \
--disable-fileinfo \
--with-pear \
--enable-maintainer-zts \
--with-ldap=shared \
--without-gdbm 

 
5、编译&&安装
make && make install

6、配置并启动

cd /usr/local/php/  #先进入安装目录
cp ./etc/php-fpm.conf.default ./etc/php-fpm.conf    #配置文件
vim /usr/local/php/etc/php-fpm.conf
将;pid = run/php-fpm.pid 前面的;分号删掉

 #配置文件
cp /usr/local/php/etc/php-fpm.d/www.conf.default  /usr/local/php/etc/php-fpm.d/www.conf
cp /usr/local/php-7.4.22/php.ini-production /usr/local/php/lib/php.ini

修改php.ini配置文件

max_execution_time = 300
max_input_time = 600
post_max_size = 80M
max_file_uploads = 20
date.timezone = Asia/Shanghai

7、配置启动服务

1、添加php-fpm服务启动脚本

vim  /lib/systemd/system/php-fpm.service

[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/php/sbin/php-fpm ##需要注意修改自己的路径
ExecStop=/bin/pkill -9 php-fpm
PrivateTmp=true
[Install]
WantedBy=multi-user.target

2、     systemctl list-unit-files --type=service查看有没有php-fpm.service
         如果没有就是用systemctl daemon-reload重新加载,在使用以上命令查看

3、添加开机自启 systemctl enable php-fpm.service

------------------------------------------------


服务字段说明

[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

-----------------------------------------------------------------------------

******************第二种方法**********************
//拷贝php-fpm脚本至/etc/init.d目录
cp /usr/local/php-7.4.22/sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm

//设置权限并启动php-fpm:
chmod 755 /etc/init.d/php-fpm
/etc/init.d/php-fpm start

// php-fpm以服务的方式启动、停止和重启:

##vim  /etc/init.d/php-fpm 
chkconfig  --add  /etc/init.d/php-fpm
service php-fpm start
service php-fpm stop
service php-fpm reload

设置php-fpm开机自启:
cp /usr/local/php-7.4.22/sapi/fpm/php-fpm.service  /usr/lib/systemd/system
   
 systemctl enable php-fpm

******************************************************


8、使用Nginx解析PHP

进入到nginx安装目录 cd /usr/local/nginx/ 

修改配置文件 vim ./conf/nginx.conf 


 server {
        listen       8088;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index index.php  index.html index.htm;
        }

修改路径
把scripts改为   document_root
 location ~ \.php$ {
           root            /usr/local/nginx/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

(1)增加index.php
在  /usr/local/nginx/html路径下增加index.php 文件进行测试

index.php内容如下
<?php echo phpinfo(); ?>


 (2)测试与mysql数据库连接


<?php
header("content-type:text/html;charset=utf-8");
$servername = "192.168.0.118";
$username = "root";
$password = "123";

// 创建连接
$conn = new mysqli($servername, $username, $password);

// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>


9、添加环境变量

  vim  /etc/profile

  export PATH=$PATH:'/usr/local/php/bin/'

  source /etc/profile


#############################################################################
                                                问题
#############################################################################

问题:
1、如果提示No package sqlite3  found问题
  先检查yum源  yum  search  sqlite    发现   sqlite-devel.x86_64   暂没有安装
  执行  sudo  yum  install  -y  sqlite-devel.x86_64

2、 No package 'oniguruma' found
    下载 oniguruma5php-6.9.8-1.el7.remi.x86_64.rpm  oniguruma5php-devel-6.9.8-1.el7.remi.x86_64.rpm
    这两个包(已下载在问题库包里)
    安装这两个包       yum  -y  localinstall   *.rpm
    然后再进入PHP目录 运行config就不报这个错误了
      


3、报   configure: error: Cannot find ldap.h
   解决办法:
    yum install openldap openldap-devel  -y

4、报错:configure: error: Cannot find ldap libraries in /usr/lib
    解决办法:
   cp -frp /usr/lib64/libldap* /usr/lib/

5、报
checking for libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0... no
configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:

No package 'libzip' found
No package 'libzip' found
No package 'libzip' found

  解决方法:
   检查是否安装过   libzip
   rpm   -q     libzip
   rpm  -q     libzip-devel
   如果有则卸载它,     yum   remove   libzip-devel    libzip
    
然后下载libzip-1.2.0.tar.gz(此包已经下载,在\Linux部署PHP\问题处理文件包下)
   cd  libzip-1.2.0
  ./configure
   make
   make install
   export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/" 

启动
#cd /usr/local/php/sbin/
# ./php-fpm   #启动
#ps -ef|grep php-fpm  #查看启动状态

#############################################################################

脚本方式启动(备用)

#!/bin/bash
# php-fpm startup script for the php-fpm 
# php-fpm version:7.4.11-alpha6
# chkconfig: 2345  10  90
# description: php-fpm is very good
# processname: php-fpm
# pidfile: /var/run/php-fpm.pid
# config: /usr/local/php/etc/php-fpm.conf
   
php_command=/usr/local/php/sbin/php-fom
php_config=/usr/local/php/etc/php-fpm.conf
php_pid=/usr/local/php/var/run/php-fpm.pid
RETVAL=0
prog="php-fpm"
   
#start function
php_fpm_start() {
    /usr/local/php/sbin/php-fpm
}
   
start(){
    if [ -e $php_pid  ]
    then
    echo "php-fpm already start..."
    exit 1
    fi
    php_fpm_start
}
   
stop(){
    if [ -e $php_pid ]
    then
    parent_pid=`cat $php_pid`
    all_pid=`ps -ef | grep php-fpm | awk '{if('$parent_pid' == $3){print $2}}'`
    for pid in $all_pid
    do
            kill $pid
        done
        kill $parent_pid
    fi
    exit 1
}
   
restart(){
    stop
    start
}
   
# See how we were called.
case "$1" in
start)
        start
        ;;
stop)
        stop
        ;;
restart)
        stop
        start
        ;;
status)
        status $prog
        RETVAL=$?
        ;;
*)
        echo $"Usage: $prog {start|stop|restart|status}"
        exit 1
esac
exit $RETVAL

  • 25
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Linux内网环境安装Docker的详细步骤如下: 1. 首先,确保你的Linux系统满足Docker的要求。通常,Docker要求使用64位的操作系统,并且内核版本要在3.10以上。 2. 下载Docker安装包。你可以从Docker官方网站上下载适用于你的Linux发行版的Docker安装包。例如,如果你使用的是Ubuntu,可以使用以下命令下载最新版本的Docker安装包: ```shell wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce-cli_20.10.6~3-0~ubuntu-focal_amd64.deb wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/containerd.io_1.4.4-1_amd64.deb wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce_20.10.6~3-0~ubuntu-focal_amd64.deb ``` 这里使用了Ubuntu 20.04的示例,如果你使用其他版本的Ubuntu,请替换下载链接中的"focal"为你的版本代号。 3. 安装Docker依赖。执行以下命令安装Docker所需的依赖项: ```shell sudo apt update sudo apt install -y libltdl7 ``` 4. 安装Docker。使用以下命令安装下载的Docker安装包: ```shell sudo dpkg -i containerd.io_1.4.4-1_amd64.deb sudo dpkg -i docker-ce-cli_20.10.6~3-0~ubuntu-focal_amd64.deb sudo dpkg -i docker-ce_20.10.6~3-0~ubuntu-focal_amd64.deb ``` 如果在安装过程中遇到依赖问题,可以尝试使用`sudo apt --fix-broken install`命令修复依赖关系。 5. 启动Docker服务。执行以下命令启动Docker服务: ```shell sudo systemctl start docker ``` 6. 验证Docker是否正确安装。运行以下命令检查Docker版本信息: ```shell docker version ``` 如果成功显示Docker版本信息,则说明Docker已经安装成功。 请注意,由于内网环境的限制,可能需要解决网络访问问题或配置本地镜像仓库以获取Docker镜像。另外,确保在安装Docker之前,没有已存在的Docker安装或旧版本的Docker正在运行。 希望以上步骤对你有帮助。如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

温柔-的-女汉子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值