精华内容
下载资源
问答
  • Linux 下搭建 php 开发环境完整教程

    千次阅读 2015-12-26 18:19:49
    Linux 环境下,我们通过命令行安装软件的时候,可能会出现错误。当错误出现的时候,我们怎么撤销之前的步骤,重新安装软件呢?解决方案如下  (1) 已经执行 configure 操作  解决:根据正确的参数重新 ...
       在开始进入正题前,先普及一点基础知识。在 Linux 环境下,我们通过命令行安装软件的时候,可能会出现错误。当错误出现的时候,我们怎么撤销之前的步骤,重新安装软件呢?解决方案如下
        (1) 已经执行 configure 操作
        解决:根据正确的参数重新 configure 即可
        (2)已经执行 configure、make 操作
        解决:删除解压后的文件目录,重新解压、configure、make
        (3)已经执行 configure、make、make install 操作
        解决:首先删除安装后的文件(有指定安装目录的情况 /usr/local/http2),然后删除解压后的目录,最后重新解压、configure、make、make install 就行了。好了,下面开始进入正题了。

    一、 安装 apache
    1. 配置(apache 安装配置) 在安装前记得切换到 root ,否则会因权限问题安装失败
    ./configure --prefix=/usr/local/http2 \
    --enable-modules=all \
    --enable-mods-shared=all \
    --enable-so
    // --enable-mods-shared=all 模块共享类型,一次性编译所有模块到 apache 内
    执行   ./configure --help  可查看默认配置及配置帮助信息,如安装目录 --prefix 等

    2. 安装
    执行 make && make install 就完成安装了

    3. 启动 apache
    进入到安装目录 /usr/local/http2/bin
    执行命令 ./apachectl start 可启动 apache
    启动 apache 的时候,可能会提示 Could not reliably determine the server's fully ...
    其实这不是什么错误,可忽略,也可通过修改配置文件解决这个问题,
    进入安装目录,/usr/local/http2/conf/ 找到 httpd.conf ,在该文件中查找 ServerName,
    把它前面的 # 号去掉就行了 。

    4. 访问
    安装完成后,在浏览器中输入本机 ip 地址,即可访问到 apache 默认的页面
    如输入本机 ip :192.168.0.141


    二、 安装 php 的依赖软件
    现在要把 php 依赖的一些软件(xml、gd、jpeg、png、freetype)都安装上去 ,然后才能安装 php 。

    1. 安装 xml 依赖
    下载 libxml2,然后安装
    安装前配置:./configure --prefix=/usr/local/libxml2 --without-zlib
    然后 make&&make install

    2. 安装 jpeg8
    安装前配置 ./configure --prefix=/usr/local/jpeg --enable-share --enable-static
    然后 make && make install
    --enable-share 把 jpeg 需要的函数库程序都编译到该软件里面,这样函数调用速度快,但是软件本身比较大
    --enable-static 静态引入方式,这样当需要调用还没引入的函数时,会立即 include 进来,这样软件本身比较小,但是函数调用速度慢

    3. 安装 libpng
    ./configure && make && make install

    4. 安装 freetype 库(字体库)
    ./configure --prefix=/usr/local/freetype
    make && make install

    5. 安装 GD 库
    ./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg/ --with-png --with-zlib --with-freetype=/usr/local/freetype
    make && make install

    6. 安装 libXpm-3.5.10
    // 有的系统可能没安装这个,要自己安装

    直接用默认的配置就行
    ./configure
    make && make instsall

    三、安装配置 php
    1. 安装 php

    参数解析:
    ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/http2/bin/apxs
    apache 的支持,作用: 给 apache 生成 php 模块;修改 /usr/local/http2/conf/httpd.conf 的配置文件,使其引入 php 模块
    mysqlnd 表示激活 php 本身的 mysql 驱动并使用,因还我们还没自己安装 mysql,所以这样可用默认的 mysql 。
     --enable-mbstring=all 宽字节函数库对 php 的支持

    ./configure --prefix=/usr/local/php 
        --with-apxs2=/usr/local/http2/bin/apxs
        --with-mysql=mysqlnd
        --with-pdo-mysql=mysqlnd
        --with-mysqli=mysqlnd
        --with-freetype-dir=/usr/local/freetype
        --with-gd=/usr/local/gd
        --with-zlib
        --with-libxml-dir=/usr/local/libxml2
        --with-jpeg-dir=/usr/local/jpeg
        --with-png-dir
          --with-xpm-dir=/usr/local/libxpm
        --enable-mbstring=all
        --enable-mbregex
        --enable-shared

    配置完成后,安装 make && make install

    安装成功后,会出现如下提示
    License:
    This software is subject to the PHP License, ... at this point.
    +---------------------------------------------------------------+

    Thank you for using PHP.

        PHP 安装完成后,/usr/local/http2/conf/httpd.conf 会把相应的 php 模块引入进来,如
        LoadModule php5_module            modules/libphp5.so
        .... ...

    2. 安装完成后,进行相关设置
    把 php 解压目录里面的 php.ini 配置文件到指定目录
    cp php.ini-development /usr/local/php/lib/php.ini

    3. 配置 Apache 使其支持 php
    vim /usr/local/http2/conf/httpd.conf
    (1)在 httpd.conf(Apache 主配置文件,在 /usr/local/http2/conf 目录下)中添加
    AddType application/x-httpd-php .php
    使 apache 遇到 php 文件时懂得调用 php 模块解析
    (2)设置时区
    在 /usr/local/php/lib 中修改 php.ini 配置文件,设置时区
    data.timezone = PRC(记得把前面的分别去掉)

    设置完成后,重启 apache 服务器
    /usr/local/http2/bin/apachectl restart
    至此所有安装步骤完成,在 apache 的目录下(/usr/local/apache2/htdocs)写个测试文件如 test.php
    内容:
    <?php
    phpinfo();
    ?>
    然后在浏览器中访问:192.168.0.141/test.php
    如果访问成功,说明安装配置成功

    注意:在使用 ThinkPHP 的时候,可能会出现下面这个问题

    thinkphp开发的项目访问的时候出现了 页面错误!请稍后再试~ 排查了很多原因,最终是这样的解决的:

    开启debug模式。在入口文件处加上 define(‘APP_DEBUG‘, true);  就ok了

    此外,在系统目录下创建的文件夹,没有写权限,要修改文件夹权限才能写入,才能正常访问,如
    chmod -R 777 thinkphp(即让该文件夹及其所有子文件夹可读可写可执行)

    四、安装配置 mysql
    1. 安装 cmake(更先进的 configure)
    解压后执行配置命令 ./bootstrap,配置完成后 make && make install,要以 root 权限安装 。

    2. 安装 mysql
    tar zxvf mysql****
    cmake 
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
    -DMYSQL_DATADIR=/usr/local/mysql/data
    -DDEFAULT_CHARSET=utf8
    -DDEFAULT_COLLATION=utf8_general_ci
    (安装目录, 数据存储目录, 默认的字符集, 校对字符集
    然后 make && make install
        在进行 mysql 的 configure 操作的时候,可能会提示软件依赖错误,依赖文件 libncurses5-dev
        解决方法:安装 ncurses-devel
        rpm -ivh ncurses-devel-5.7-3.200090208.el6.i686.rpm(现在可能不是这个文件名了,自己 google 吧)
        依赖解决好后要删除 CMakeCache.txt 文件。

    3. 配置 mysql
    (1)给 mysql 复制一个配置文件
    在 mysql 我解压目录下,有个 support-files 文件夹,进入这个文件夹,执行复制命令
    cp my-medium.cnf /etc/my.cnf
    (2)useradd mysql(添加用户)
    (3)chmod +x /home/lion/storm/web-php/install/mysql5.5/install
    (4)chown -R mysql.mysql /home/lion/storm/web-php/install/mysql5.5/install
    (5)初始化 mysql 数据库
    /home/lion/storm/web-php/install/mysql5.5/install/scripts/mysql_install_db --user=mysql --basedir=/home/lion/storm/web-php/install/mysql5.5/install --datadir=/home/lion/storm/web-php/install/mysql5.5/install/data &
    (6)把 mysql 安装文件(除了 data 之外)的主人都改为 root,避免数据库恢复为出厂设置
    chown -R root /home/lion/storm/web-php/install/mysql5.5/install
    chown -R mysql /home/lion/storm/web-php/install/mysql5.5/install/data
    (7)后台运行 mysql 服务
    /home/lion/storm/web-php/install/mysql5.5/install/bin/mysqld_safe --user=mysql &
    查看 mysql 是否有启动
    ps -A | grep mysql
    如果启动成功,则显示以下信息
    ------ mysqld_safe
    ------ mysqld
    (8)进入 mysql 操作终端的执行程序(在  /home/lion/storm/web-php/install/mysql5.5/install/bin 目录下)
    执行命令 ./mysql 就可以运往 mysql 了。
    (9)设置 mysql 用户和密码
    为了数据库安全,把 localhost 之外的用户全部删除掉,并为 localhost 设置密码,设置密码时调用加密函数给密码加密;
    mysql 的所有用户信息都放在 mysql 数据库中,而且这也是 mysql 的核心数据库 。所以要到这个数据库中进行用户管理操作,执行命令
    use mysql 
    切换到这个数据库,执行下面的操作:
        mysql> delete from user where Host != 'localhost';
        mysql> select Host, User, Password form user;
        mysql> update user set Password=password(123456);
        mysql> select Host, User, Password from user;
        mysql> flush privileges;(刷新,使对权限的修改立即生效)

    (10)设置完成后,执行 flush privileges; 命令,使设置立即生效 。设置完成后,以后不要随便操作 mysql 中的 mysql 数据库了 。
    (11)执行 exit 命令退出当前 mysql,然后重新登录 mysql
    ./mysql -uroot -p123456

    (12)通过 php 中访问 mysql,在 apache 的 htdocs 目录下,创建一个 data.php 文件,来访问 mysql 。
    <?php
        $link = mysql_connect('localhost', 'root', '123456');
        mysql_select_db('test', $link);
        mysql_query('set name utf8');
        $sql = "select * from goods";
        $qry = mysql_query($sql);
        while($rst = mysql_fetch_assoc($qry)) {
            print_r($rst);
            echo "<br />";
        }



    展开全文
  • 想必作为一个Web开发的程序员,近些年对docker一定不会陌生,Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化...

    想必作为一个Web开发的程序员,近些年对docker一定不会陌生,Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。使用docker主要有以下好处:
    1. docker容器之间相互独立,可以在一个服务器上面搭建多套环境
    2. docker容器内有已经部署好的软件安装环境,搭建集成环境相当方便
    本文就按照docker标准,搭建一个基于LAMP架构的PHP运行环境(MySQL、Nginx、PHP_FPM)

    安装docker


    1. 安装docker,使用如下命令。

    yum install docker

    2. 查看docker版本,如果出现这个界面说明安装成功。

    3. 设置docker加速镜像源,通过vim /etc/docker/daemon.json设置如下内容。

    {
        "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }
    

     

    docker安装MySQL


    1. 从docker镜像库中拉取一个MySQL的镜像到服务器。

    docker pull mysql:5.6

    2. 然后输入命令 docker images 就可以查看查看我们刚刚拉下来的mysql的镜像。

    3. 运行并启动一个容器,通过以下命令。

    docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456abc --name mysql_1 mysql:5.6

    参数说明:

     -d 让容器在后台运行 

    -p 添加主机到容器的端口映射 

    3306:3306 把容器内的3306端口映射到主机的3306端口,前面是主机的端口,后面是容器端口

    -e 设置环境变量,这里是设置mysql的root用户的初始密码,这个必须设置 

    -MYSQL_ROOT_PASSWORD 设置访问MySQL的密码为123456abc

    –name 容器的名字,随便取,但是必须唯一

    4. 接下来我们就可以通过命令docker ps -a 查看我们刚刚创建的容器。

    这里我们可以看到我的容器状态的Up状态,表示容器正在运行,并且把可以看到主机和容器的端口映射关系,如果容器启动情况不正确,可以查看日志,通过以下命令命令。

    docker logs -f -t --since="2018-09-20" --tail=10 mysql_1

    接下来,如果我们想进入刚刚创建的容器中,输入如下命令。

    docker exec -ti mysql_1 /bin/bash1

    参数说明 :

    -t 在容器里生产一个伪终端

    -i 对容器内的标准输入 (STDIN) 进行交互

    容器中默认是没有vim的,所以我们首先要安装vim,需要注意的是安装前记得先执行apt update命令,不然安装会出现问题。

    进入到mysql容器后,我们通过创建一个远程可以访问的用户,这样我们就能从别的主机访问到我们的数据库了。

    docker安装PHP-FPM 


    1. 拉取php-fpm的镜像。

    docker pull php:7.0-fpm

    2. 再创建一个php-fpm容器,开启端口为9000,同时与上面安装的mysql进行连接,才能够协同工作。

    docker run -d -v /var/nginx/www/html:/usr/share/nginx/html -p 9000:9000 --link mysql_1
    :mysql --name abc_phpfpm php:7.0-fpm

    参数说明:
    -d 让容器在后台运行 
    -p 添加主机到容器的端口映射 
    -v 添加目录映射,即主机上的/var/nginx/www/html和容器中/var/www/html目录是同步的 
    –name 容器的名字 
    –link 与另外一个容器建立起联系,这样我们就可以在当前容器中去使用另一个容器里的服务。

    备注:这里如果不指定–link参数其实也是可以得,因为容易本身也是有ip的且唯一,所以我们也可以直接利用ip去访问容器。

    3.  安装pod扩展

    #进入容器
    docker exec -it phpfpm_1 /bin/bash
    #安装pdo
    docker-php-ext-install pdo_mysql
    #查看pdo是否安装成功
    php -m

    4. 安装redis扩展,依次执行如下命令

    curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/3.1.3.tar.gz
    tar xfz /tmp/redis.tar.gz
    rm -r /tmp/redis.tar.gz
    mkdir -p /usr/src/php/ext
    mv phpredis-3.1.3 /usr/src/php/ext/redis
    docker-php-ext-install redis

    docker安装nginx 


    1. 首先,从仓库里去拉取一个nginx镜像。

    docker pull nginx:1.10.3

    2. 接下来运行nginx容器。

    docker run -d -p 80:80 -p 443:443 -v /var/nginx/www/html:/usr/share/nginx/html --link phpfpm_1:phpfpm --name nginx_1 nginx:1.10.3

    3. 配置nginx配置文件default.conf,在配置文件中增加以下行。

    location ~ .+\.php($|/) {
           set $script $uri;
           set $path_info "";
           if ($uri ~ "^(.+\.php)(/.+)") {
               set $script $1;
               set $path_info $2;
           }
           #fastcgi_pass    unix:/run/php/php7.0-fpm.sock;
           root           /usr/share/nginx/html;
           fastcgi_pass   phpfpm:9000;
           fastcgi_index    index.php?IF_REWRITE=1;
           fastcgi_param    PATH_INFO    $path_info;
           #fastcgi_param    SCRIPT_FILENAME    $root$fastcgi_script_name;
           fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
           fastcgi_param    SCRIPT_NAME    $script;
           include        fastcgi_params;
    }
    

     

    展开全文
  • 一、获取安装包PHP下载地址:http://cn.php.net/distributions/php-7.1.10.tar.gzApache下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.33.tar.gzMySQL下载地址: ...

    一、获取安装包

    • PHP下载地址:http://cn.php.net/distributions/php-7.2.6.tar.gz
    • Apache下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.33.tar.gz
    • MySQL下载地址: https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz

    二、安装Apache

        1. 依赖包安装

    1) 安装编译器gcc、gcc-c++

    yum install -y gcc gcc-c++

    2) 安装依赖包expat-devel、zlib-devel、openssl-devel

    yum install -y expat-devel zlib-devel openssl-devel
    

    2) 安装依赖包apr

    注意:如果依赖包不存在,则去网站找最新的包,改成相应版本号下载即可

    wget http://mirror.bit.edu.cn/apache//apr/apr-1.6.3.tar.gz
    tar zxvf apr-1.6.2.tar.gz
    cd apr-1.6.2
    ./configure --prefix=/usr/local/apr
    make && make install

    3) 安装依赖包apr-util

    wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
    tar zxvf apr-util-1.6.0.tar.gz
    cd apr-util-1.6.0
    ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
    make && make install

    4) 安装依赖包pcre

    wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz
    tar zxvf pcre-8.41.tar.gz
    cd pcre-8.41
    ./configure --prefix=/usr/local/pcre
    make && make install

    注意:将apr、apr-util安装包拷贝到Apache安装包的srclib目录中

               名称分别命名为apr、apr-util,不要后面的版本号

        2. 安装过程

    1) 解压Apache安装包

    tar zxvf httpd-2.4.33.tar.gz

     注意:       将apr、apr-util安装包拷贝到Apache安装包的srclib目录中

            名称分别命名为apr、apr-util,不要后面的版本号

    2) 编译、安装

    cd httpd-2.4.28
    ./configure --prefix=/usr/local/server/apache \
    --with-apr=/usr/local/apr \
    --with-apr-util=/usr/local/apr-util \
    --with-pcre=/usr/local/pcre \--with-mysql=shared,mysqlnd                                                                                    
    --enable-so \
    --enable-ssl \
    --enable-deflate \
    --enable-rewrite \
    --enable-headers \
    --enable-expires \
    --disable-cgid\
    --disable-cgi

     

        3. 修改配置文件httpd.conf

    vim /usr/local/server/apache/conf/httpd.conf

    去掉ServerName前面的 #

    并将ServerName后面的网址改为localhost:80

        4. 将httpd加入系统服务并设置开机自启

    1) 将httpd加入系统服务

    cp /usr/local/server/apache/bin/apachectl /etc/init.d/httpd

    2) 修改/etc/init.d/httpd,在第3行加入以下内容

    # chkconfig: 345 85 15
    # description: Activates/Deactivates Apache Web Server

    注意: 代码中的 # 不可以去掉

    3) 设置系统服务开机自启

    systemctl enable httpd

    4) 启动Apache

    service httpd start

     

    三、安装MySQL

        1. 安装前准备

    1) 解压安装包

    tar zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz 
    mv mysql-8.0.11-linux-glibc2.12-x86_64 /usr/local/server/mysql

    2) 创建用户和用户组并分配相应的权限

    groupadd mysql
    useradd -r -g mysql mysql
    chown -R mysql:mysql .   #注意后面有个点

     

        2. mysql的初始化并做基本配置

    1) 初始化mysql

    cd /usr/local/server/mysql
    bin/mysqld \
    --initialize \
    --user=mysql \
    --basedir=/usr/local/server/mysql \
    --datadir=/usr/local/server/mysql/data \

    注意 : 如果报错 , 则缺哪个库yum安装即可                                                                                                                             bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

    yum install libaio                                                                            

    2) 配置mysql

    vim my.cnf  # 创建配置文件

    本示例仅保证mysql可以正常运行,更多配置请参考官方文档说明

    [mysqld]
    skip-grant-tables
    basedir = /usr/local/server/mysql
    datadir = /usr/local/server/mysql/data
    port = 3306

    将配置文件软链接到 /etc/ 目录

    rm -rf /etc/my.cnfln -s /usr/local/server/mysql/my.cnf /etc/my.cnf

        3. 启动mysql并设置root用户密码

    1) 启动mysql

    support-files/mysql.server start  # 启动MySQL
    bin/mysql -uroot -p  # 这里直接回车,无须输入密码

    2) 重置root用户密码

    use mysql;
    update user set authentication_string='' where user='root';
    exit;

    3 )  删除/etc/my.cnf文件的 skip-grant-tables , 重启mysql服务

      support-files/mysql.server restart  #重启mysql

    4 )  用root用户进行登录

      mysql -u root -p  
      passwrod:直接回车

    5 )  使用ALTER修改root用户密码,初始化完毕 。退出,使用新密码登录

      ALTER user 'root'@'localhost' IDENTIFIED BY 'new_password';

        4. 设置环境变量和开机自启

    1) 设置环境变量

    编辑profile文件

    vim /etc/profile

    添加下列信息到profile尾部

    export PATH=$PATH:/usr/local/server/mysql/bin

    使环境变量立即生效

    source /etc/profile

    2) 设置开机自启

    cp support-files/mysql.server /etc/init.d/mysqld  
    systemctl enable mysqld 

     

        5. 防火墙设置

    CentOS默认开启了 firewall 防火墙,下面我们使用firewall开启3306l端口

    1) 开启之前我们先查询下3306端口是否开启

    firewall-cmd --query-port=3306/tcp

    2) 我们可以选择临时开启或者永久开启3306端口

    firewall-cmd --add-port=3306/tcp  # 临时开启3306端口  
    firewall-cmd --permanent --zone=public --add-port=3306/tcp  # 永久开启3306端口

    3) 重启firewall

    firewall-cmd --reload

     

        6. 远程访问

    1) 给予任何主机访问mysql的权限

    create user root@'%' identified by 'your_password';                                                           
    grant all privileges on *.* to root@'%';
    

    2) 使权限修改生效

    FLUSH PRIVILEGES;

    四、安装PHP

        1. 安装步骤

    1) 安装依赖包

    yum -y install wget vim pcre pcre-devel openssl openssl-devel \
    libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng \
    libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib \
    zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel \
    curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel \
    nss_ldap jemalloc-devel cmake boost-devel bison automake libevent \
    libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt \
    mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel \
    libcurl libcurl-devel openjpeg-devel libcurl.x86_64 libcurl-devel.x86_64 \
    libjpeg-turbo libjpeg-turbo-devel libpng freetype  libpng-devel \
    freetype-devel icu libicu libicu-devel  openldap openldap-clients \
    openldap-devel openldap-servers
    cp -frp /usr/lib64/libldap* /usr/lib/
    

    2) 解压PHP安装包

    tar zxvf php-7.2.6.tar.gz

    3) 编译安装

    cd php-7.2.6
    ./configure --prefix=/usr/local/server/php \
    --with-apxs2=/usr/local/server/apache/bin/apxs \
    --with-config-file-path=/usr/local/server/php \
    --enable-fpm \
    --with-fpm-user=www \
    --with-fpm-group=www \
    --enable-mysqlnd \
    --with-mysqli=mysqlnd \
    --with-pdo-mysql=mysqlnd \
    --enable-mysqlnd-compression-support \
    --with-iconv-dir \
    --with-freetype-dir \
    --with-jpeg-dir \
    --with-png-dir \
    --with-zlib \
    --with-libxml-dir \
    --enable-xml \
    --disable-rpath \
    --enable-bcmath \
    --enable-shmop \
    --enable-sysvsem \
    --enable-inline-optimization \
    --with-curl \
    --enable-mbregex \
    --enable-mbstring \
    --enable-intl \
    --with-libmbfl \
    --enable-ftp \
    --with-gd \
    --with-openssl \
    --with-mhash \
    --enable-pcntl \
    --enable-sockets \
    --with-xmlrpc \
    --enable-zip \
    --enable-soap \
    --with-gettext \
    --disable-fileinfo \
    --enable-opcache \
    --with-pear \
    --enable-maintainer-zts \
    --with-ldap=shared \
    --without-gdbm \make && make install

     

        2. 配置php.ini

    1) 将配置文件拷贝到PHP安装目录

    cp php.ini-* /usr/local/server/php/

    2) 生成php.ini

    cp php.ini-development /usr/local/server/php/php.inicp /usr/local/server/php/etc/php-fpm.conf.default /usr/local/server/php/etc/php-fpm.conf
    

    3 ) 修改php.ini配置文件

    expose_php = Off
    short_open_tag = ON
    max_execution_time = 300
    max_input_time = 300
    memory_limit = 128M
    post_max_size = 32M
    date.timezone = Asia/Shanghai
    mbstring.func_overload=2
    extension_dir = "/usr/local/server/php/lib/php/extensions/no-debug-zts-20170718/"


    
    

        3. 修改httpd.conf

    载入PHP模块,如httpd.conf中有下列代码则直接去掉前面#即可,没有则加入

    LoadModule php7_module modules/libphp7.so

    在底部加入以下代码使得Apache可以解析php文件

    <IfModule mod_php7.c>
    	AddType application/x-httpd-php .php
    </IfModule>

    找到如下代码,在index.html后面加入index.php

    <IfModule dir_module>
        DirectoryIndex index.html
    </IfModule>

    重启Apache

    service httpd restart

     

        4. 测试PHP是否成功安装

    创建/usr/local/server/apache/htdocs/index.php

    vim /usr/local/server/apache/htdocs/index.php

    在index.php中编写以下代码

    <?php
    
       phpinfo();
    
    ?>

    如果出现以下页面则安装成功

    MYSQL8.0安装后 phpMyAdmin无法登陆解决

    MYSQL8.0的密码验证方式从mysql_native_password改为了caching_sha2_password

    vim my.cnf

    default_authentication_plugin=mysql_native_password  

    进入mysql修改一下密码和加密插件

    use mysql;  
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';    
    FLUSH PRIVILEGES; 


    展开全文
  • linux上面php环境部署

    2020-06-10 11:06:28
    linux上面php环境部署,主要是开发环境的部署,针对个开发者合作开发的配置部署。。。。根目录会部署环境,开发环境针对不同的用户进行端口号部署
  • Linux C/C++开发环境搭建指针

    千次阅读 2018-10-17 22:11:57
    前言:Ubuntu中没用自带C/C++开发环境,需要用户自己配置。在UBUNTU中文论坛中的一些帖子集合。

    前言:Ubuntu中没用自带C/C++开发环境,需要用户自己配置。在UBUNTU中文论坛中的一些帖子集合。

    一、安装基本开发环境

    本人想学习一下Linux下的C,C++程序开发,这几天一直在研究Linux下的C语言编译环境的建立,因为新装好的Ubuntu里面缺少函数库文件,所以无法编译最简单的C语言文件,故要先配置一番,这几天也有一点心得,写下来和大家一起学习。
    原来我以为安装配置非常麻烦,后来发现在新立得的帮助下很快就能配置好(前提你的源的网速比较快)。
    我先安装了一个新的Ubuntu6.10,然后按照Wiki里的帮助先配置好了源、输入法、中文环境等。然后开始配置编译环境。


    1、配置GCC


    刚装好的系统中已经有GCC了,但是这个GCC什么文件都不能编译,因为没有一些必须的头文件,所以要安装build-essential这个软件包,安装了这个包会自动安装上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等一些必须的软件和头文件的库。
    可以在新立得里面搜索build-essential或输入下面命令:

    sudo apt-get install build-essential


    安装完成后写一个C语言程序testc.c测试一下。

    #include<stdio.h>
    int main()
    {
       printf("Hello Ubuntu!\n");
       return 0;
    }
    $ gcc testc.c -o testc
    $ ./testc
    
    


    显示 
    Hello Ubuntu!
    这样,C语言编译器就安装成功了;

    2、安装GTK环境


    安装GTK环境只要安装一个gnome-core-devel就可以了,里面集成了很多其他的包。除此之外还要转一些其他的东西,如libglib2.0-doc、libgtk2.0-doc帮助文档,devhelp帮助文档查看,glade-gnome、glade-common、glade-doc图形界面设计等。

    sudo apt-get install gnome-core-devel
    sudo apt-get install libglib2.0-doc libgtk2.0-doc
    sudo apt-get install devhelp
    sudo apt-get install glade-gnome glade-common glade-doc


    安装完成后我们也同样做个测试程序

    #include<gtk/gtk.h>
    void hello(GtkWidget *widget,gpointer data)
    {
    g_print("Hello Ubuntu!\n");
    }
    gint delete_event(GtkWidget *widget,GdkEvent *event,gpointer data)
    {
    g_print ("delete event occurred\n");
    return(TRUE);
    }
    void destroy(GtkWidget *widget,gpointer data)
    {
    gtk_main_quit();
    }
    int main( int argc, char *argv[] )
    {
    GtkWidget *window;
    GtkWidget *button;
    gtk_init (&argc, &argv);
    window=gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_signal_connect (GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event),NULL);
    gtk_signal_connect (GTK_OBJECT (window), "destroy",GTK_SIGNAL_FUNC (destroy), NULL);
    gtk_container_set_border_width (GTK_CONTAINER (window), 10);
    button = gtk_button_new_with_label ("Hello Ubuntu!");
    gtk_signal_connect (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (hello), NULL);
    gtk_signal_connect_object (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (gtk_widget_destroy),GTK_OBJECT (window));
    gtk_container_add (GTK_CONTAINER (window), button);
    gtk_widget_show (button);
    gtk_widget_show (window);   /*显示一个窗口*/
    gtk_main();   /*进入主循环*/
    return(0);
    }

    用下面命令编译运行

    $ gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`
    $ ./gtktest


    会显示一个带有一个按钮的窗口,点击按钮以后窗口关闭,命令行显示Hello Ubuntu!

    GTK测试

    c语言测试

    二、安装IDE开发工具
    著名的开发工具有Kdeveloper, Anjuta, Eclipse+CDT。 
    其中kdeveloper是KDE平台得,在Gnome平台下使用需要安装一大堆KDE的东西,不喜欢,放弃了,虽然都传说Kdeveloper的功能是如何强大。而Eclipse+CDT用起来似乎不错,但是主要有两点不舒服,一是不能代码自动完成,二是编译速度比较慢。
    Eclipse + CDT的安装配置。

    Java运行环境以及Eclipse3.3.0安装就不具体介绍。 
    详细情况见:http://blog.chinaunix.net/u/21684/showart_384208.html 
    1。下载CDT(http://www.eclipse.org/cdt/downloads.php)(只能下载4.0.x,如果是Eclipse3.3.0其他的选择合适的版本) 
    2。安装CDT插件(links方法来安装插件的方法,便于对插件的管理) 
    A.在eclipse所在的目录(ECLIPSE_HOME)新建文件夹cdt 
    在文件夹cdt中新建文件夹eclipse(不要诧异就是eclipse) 
    B. 把下载的cdt-master-4.0.0.zip中的内容解压到/ECLIPSE_HOME/cdt/eclipse中 
    C.在ECLIPSE_HOME新建文件夹links 
    在新建的links中添加文件cdt.link 文件的内容为 path=/ECLIPSE_HOME/cdt
    比如我的就是path=/opt/eclipse/cdt 
    D.这样就完成了CDT插件的安装工作了,启动eclipse 就看到多了c,c++开发环境

    三、Anjuta安装配置
    A. ubuntu feisty (for gusty, see below) repository (only i386 and only binaries)

    1. Add deb http://anjuta.org/apt ./ in your /etc/apt/sources.list
    2. sudo apt-get update
    3. sudo apt-get install anjuta
    4. sudo apt-get install anjuta-dev libgbf-dev libgdl-dev (if you want to write anjuta plugins or report bugs) 


    Note!! If you have installed older anjuta-2.2.0 previously using this repository, make sure to remove the file /etc/apt/preferences or remove the following version pin from the file before following the above steps. The version pin is no longer needed:

    B. Ubuntu gusty repository

    1. Add deb http://ppa.launchpad.net/robster/ubuntu gutsy universe in your /etc/apt/sources.list
    2. sudo apt-get update
    3. sudo apt-get install anjuta
    4. sudo apt-get install anjuta-dev libgbf-dev libgdl-dev (if you want to write anjuta plugins or report bugs)

    注意: 建议使用新立得安装。


    题外话 QT VS GTK /GTK+

    Qt是一个多平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的很容易扩展,并且允许真正地组件编程。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE 的基础,KDE是所有主要的Linux发行版的一个标准组件。


    Qt支持下述平台:
    * MS/Windows - 95、98、NT 4.0、ME、和2000 * Unix/X11 - Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX和其它很多X11平台 * Macintosh - Mac OS X * Embedded - 有帧缓冲(framebuffer)支持的Linux平台。 


    Qt是Trolltech公司的一个产品。Qt被按不同的版本发行:


    Qt企业版和Qt专业版 提供给商业软件开发。它们提供传统商业软件发行版并且提供免费升级和技术支持服务。如果要获得最新报价,请浏览Trolltech公司网站的价格和可行性页面,或者与sales@trolltech.com联系。企业版比专业版多一些扩展模块。


    Qt自由版是Qt仅仅为了开发自由和开放源码软件 提供的Unix/X11版本。在Q公共许可证和GNU通用公共许可证 下,它是免费的。最新的版本可以在这里下载。


    Qt/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本。在GNU通用公共许可证下,它是免费的。


    用C的很自然就选择了gtk+, C++的选择了QT。一般选择。QT出来的比C++标准早,所以和标准的C++还是区别的。听说QT的C++并不纯。gtk+也有其它语言绑定,C++的gtkmm,python的pygtk.跨平台大家都能做到,但wxWidget在跨平台上好像选择的人更多 些。 
    我用了不短的时间就是在选择到底在Linux下用什么工具来编程,现在选择了Qt。我认为如果要编一些小程序可以使用任何一种工具,但是我认为不管真样选择,我们不能倒退到以前那种存脆的C下全部自己动手的那种局面。那样确实锻炼人培养人,但是人的时间是有限的,当我们要面对比较大的程序的时候QT这种是不错的选择。只是现在用的人太少。QT在windows下能和VC关联起来使用,这对于我们这些用惯VC 的人实在是一个好消息!我现在还仅仅用的是开源版的,以后有机会用它的企业版我想能用的更好。




    转自:https://blog.csdn.net/zwjsatan/article/details/8039277 
     

    展开全文
  • Ubuntu中没用自带C/C++开发环境,需要用户自己配置。在UBUNTU中文论坛中的一些帖子集合。 一、安装基本开发环境 本人想学习一下Linux下的C,C++程序开发,这几天一直在研究Linux下的C语言编译环境的建立...
  • Linux的Java开发环境搭建及部署

    千次阅读 2018-02-27 16:07:04
    一 : Linux下查看字符集第一种 :[root@Testa-www tmp]# echo $LANGzh_CN.UTF-8第二种 :[root@Testa-www ~]# export |grep LANG declare -x LANG="zh_CN.UTF-8第三种:[root@Testa-www ~]# env |grep LANG ...
  • 简单得来说,Docker是一个由GO语言写的程序运行的“容器”(Linux containers, LXCs); 目前云服务的基石是操作系统级别的隔离,在同一台物理服务器上虚拟出个主机。Docker则实现了一种应用程序级别的隔离; 它改变...
  • linux ubuntu 下c++ 开发环境

    千次阅读 2015-12-02 23:20:06
    Ubuntu中没用自带C/C++开发环境,需要用户自己配置。在UBUNTU中文论坛中的一些帖子集合。 一、安装基本开发环境 本人想学习一下Linux下的C,C++程序开发,这几天一直在研究Linux下的C语言编译环境的建立,...
  • Linux 命令面试题

    万次阅读 多人点赞 2019-07-24 09:40:04
    Linux面试题: 1.Linux常用系统安全命令 sudo // 超级用户 su // 用于切换当前用户身份到其他身份,变更时需输入所要变更的用户账号与密码。 chmod // 用来变更文件或目录的权限 setfacl // 设置文件访问控制列表 2....
  • Window下使用linux开发环境

    千次阅读 2018-03-18 18:27:17
    Window下使用linux开发环境 使用laravel的人都知道Homestead是有方便。但是要使用Homestead在墙内是很困难的。所以索性放弃了Homestead,自己搭建类似Homestead的开发环境。 使用的工具 Vmware Workstation ...
  • 什么是phpphp是什么?

    万次阅读 多人点赞 2019-04-10 10:26:45
    什么是php? PHPPHP Hypertext Preprocessor(超文本与处理器)的首字母缩写。这种方法叫做递归缩写。 ​ ...它的很语法来自 C,Java 和 Perl,并具有几个 PHP 独有的特点。该语言的主要目标...
  • linux C/C++开发环境搭建指南

    万次阅读 2012-10-04 11:38:58
    Ubuntu中没用自带C/C++开发环境,需要用户自己配置。在UBUNTU中文论坛中的一些帖子集合。 一、安装基本开发环境 本人想学习一下Linux下的C,C++程序开发,这几天一直在研究Linux下的C语言编译环境的建立,...
  • 程序员集成开发环境IDE

    千次阅读 2019-05-01 11:58:40
    集成开发环境(IDE)包括 1. 编辑器:程序员编写高级语言 2. 编译器:作用是将源代码编译为机器可识别的低级语言 3. 调试器:调试程序,检查功能 4. 工程管理工具:makefile, 自动进行编译管理,主要用于大型项目
  • 测试开发需要学习的知识结构

    万次阅读 多人点赞 2018-04-12 10:40:58
    努力成为一个优秀的测试开发从业者,加油!!! 一些视频链接:我这有一些软件测试的视频,你可以点开看看。转行互联网测试需要哪些技能? - 假装在测试的回答 - 知乎作为一名软件测试人员,有哪些网站是你应该多多...
  • Laravel PHP 开发环境配置

    万次阅读 2015-12-08 10:51:23
    1.XAMPP集成开发环境 Laravel是一个PHP开发框架,用Laravel框架开发的网站需要运行于有PHP+数据库+web服务器的操作系统上。一般要求PHP版本5.4+,MySQL5.1+。本文选择PHP+MySQL数据库+Apache web服务器。在Windows...
  • Linux内核开发环境管理和搭建(Git&Vim)

    千次阅读 2017-07-23 16:45:45
    Linux内核开发环境管理和搭建   Kernel官方的链接是:https://www.kernel.org,有三种版本mainline,stable,longterm,其中mainline是主线版本,stable是稳定版,longterm是长期支持版,当然就是不再支持的EOL...
  • 1.前言 上一篇讲述了如何编译安装MySQL,虽然可以通过yum install 或者rpm来安装,但是yum install和rpm安装有一个特点,就是有些参数...以前开源开发经常将LAMP,就是Linux+Apache+MySQL+PHP,对于一些起步型的公司来
  • 几个linux 下C/C++集成开发环境推荐

    千次阅读 2012-10-15 18:27:22
    几个linux 下C/C++集成... Anjuta是一个建立在GNU/Linux下为C、C++提供编译的集成开发环境,它最大的特色是灵活,同时打开个文件,内嵌代码级的调试器(调用gdb),应用程序向导(Application wizards)可以方便的帮
  • Linux 开发软件

    千次阅读 2019-07-12 22:34:36
    这是开发中可能使用到的一类软件。 安装Ubuntu 16.04后要做的事(总结) 通用IDE VIM 极客大佬才玩的东西,我一般都不怎么用,╮(╯▽╰)╭ VIM安装 安装vim,可以直接执行以下命令行: apt-get install ...
  • Linux开发环境必备十大开发工具

    千次阅读 2016-12-04 15:48:56
    Linux是一个优秀的开发环境,但是如果没有好的开发工具作为武器,这个环境给你带来的好处就会大打折扣。幸运的是,有很好用的Linux和开源开发工具供你选择,如果你是一个新手,你可能不知道有哪些工具可用。本文将...
  • DE1-SOC入门之Linux开发环境搭建

    千次阅读 2016-04-04 15:51:14
    入手DE1-SOC这块FPGA也有两三个月了,将友晶提供的入门学习例程、代码等摸索了一下,感觉正常的fpga和arm之间的通信、控制已经没大问题了。可是很时候,事情没有自己想的那么简单。现在接手的项目,实时性略高...
  • A:Ubuntu16.04安装Gnome桌面环境 如果你不喜欢使用Unity桌面,你可以选择使用经典的Gnome桌面环境。本文记录了在Ubuntu ...B: linux ssh 使用深度解析(key登录详解) SSH全称Secure SHell,顾名思义就是非常安全
  • linux 下 docker NGINX+PHP+MYSQL+REDIS+Elasticsearch 开发环境搭建 一步步跟我做,搭建属于自己的 docker 开发环境,风来了.fox
  • 上一篇讲了docker安装与环境搭建的步骤,这一次主要是介绍过程中遇到的错误情形及其错误处理方法。典型的错误如 invalid registry endpoint或Connecting to tcp://localhost:2022 (attempt #0).希望本文对docker使用...
  • 那么问题来了:如何搭建PHP开发环境呢?Windows可选择WAMP集成包,一键安装,Linux/Ubuntu平台也有类似的集成包,不过没装成,于是采用了分步安装的方式,Apache+Mysql+PHP分开安装。由于网上的一些教程都过期了,很...
  • Linux开发GUI程序的方法有很,比如Gnome桌面使用GTK+作为默认的图形界面库,KDE桌面使用Qt作为默认的图形界面库,wxWidgets则是另一个使用广泛的图形库,此外使用Java中的Swing/AWT组件也可以用于开发Linux下...
  • 为了后面开发php扩展等什么打基础,同时兼顾windows上的软件的日常使用,决定在客户机(Linux)上架设samba服务器来同步工程文件夹... 下面这个是在x-server 下进行简单配置的 ... centos 安装配置 samba 并实现与...
  • Linux(centos)下用vim搭建php开发环境IDE

    千次阅读 2013-04-25 00:56:09
    1、在linux命令行界面,输入vim 2、输入 :NERDTree ,回车 3、进入当前目录的树形界面,通过h,j键或者小键盘上下键,能移动选中的目录或文件 4、按u键到上级目录,按o键打开或者关闭文件。目录前面有+号,摁...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 66,407
精华内容 26,562
关键字:

linuxphp多用户开发环境

linux 订阅