脚本宝典收集整理的这篇文章主要介绍了

Tshare校园资源分享平台(php网站开发一之环境搭建)

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

写在前面
本学期软件工程课程,老师要求我们写一个大作业,我们小组选择做一个资源分享的网站平台。现在工作已经结束,我打算从头开始回顾,并将其过程写为多篇连载的博客。

工具选择
开发最重要的准备工作就是环境搭建,我们小组本次选择使用apache+mysql+php开发这个网站,并且将网站部署在Linux机上。所以我们需要准备的东西有:VMware虚拟机、Centos7镜像文件。安装一个centos虚拟机后在虚拟机上安装apache、mysqlphp环境。(ps:亲身实践,感觉VMware比virtual box好用

安装过程
现在我的pc上已经安装好了一个centos7的虚拟机(具体过程可以搜索教程)
clipboard.png

现在打开虚拟机,我的虚拟机上只添加了一块硬盘(20G,建议大一点,后来我安装mysql时发现硬盘空间不够用又加了一块20G硬盘,具体什么东西占用了我的空间我还没找到),分为两个分区(swap交换分区,大小4G,剩下的空间全部设为根分区,其中根分区挂载到了根目录下)。首先在根目录下创建一个web目录,作为apache、mysql、php源代码存放路径,因为我将要使用源代码方式安装这三个软件。

apache的安装

使用源代码方式安装的不好之处在于,需要自己解决软件安装过程中的全部依赖,而且下载源代码包解压缩后需要经过编译才能安装,好处在于可以自己进行一些配置。我之所以选择源代码安装方式是因为后面涉及到php的扩展时需要源代码。

那么安装apache之前我们需要获取apache和其依赖软件的源代码:

 1. apache2.4: wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.37.tar.gz  2. apr-1.6.5.tar.gz:http://www.apache.org/dist/apr/  3. apr-util-1.6.1.tar.gz:http://www.apache.org/dist/apr/  4. pcre-8.42.tar.gz:wget https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.gz

第一个和第四个在虚拟机终端中直接输入该命令即可下载,第二个和第三个需要到这个网站中去下载。不管怎么样,将下载得到四个压缩包都放入根目录下的web目录中,然后准备一一安装。

  • apr依赖的安装:进入/web目录
tar -zxvf apr-1.46.tar.gz cd apr-1.46 ./configure --prefix=/usr/local/apr     #生成makefile编译文件 make            #编译源代码 make install    #安装

在生成编译文件或编译源代码的时候,可能会报错,告诉我们gcc没有安装,此时安装一下gcc即可,虽然我们不用yum安装apache,但是可以用它来安装其他依赖文件,这样对我们的apache源码没有什么影响。

yum install gcc*        #安装gcc 
  • apr-util依赖的安装:回到/web目录
tar -zxvf apr-util-1.5.1.tar.gz cd apr-util-1.5.1 ./configure --with-apr=/usr/local/apr make make install

编译过程中可能会出现这个错误:xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory
只需要安装expat-devel就行了

yum install expat-devel 
  • prec依赖的安装
tar -zxvf pcre-8.32.tar.gz cd  pcre-8.32 ./configure --prefix=/usr/local/pcre(此处出现configure: error: You need a C++ compiler for C++ support sudo yum install gcc-c++)     #由于之前安装过gcc,所以不会出现这个错误 make make install
  • apache安装
tar -zxvf httpd-2.4.37.tar.gz cd httpd-2.4.37 ./configure --prefix=/usr/local/apache24 --enable-so --with-apr=/usr/local/apr/ --with-apr-til=/usr/local/apr/ --with-pcre=/usr/local/pcre/ make make install

如果进行make编译的时候,出现这个错误:/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_GetErrorCode',是由于缺少xml的相关支持,使用yum安装对应的依赖即可

①安装libxml2-devel [root@test_01 ~]# yum install -y libxml2-devel ②删除apr-util目录并且重新编译安装(将/web目录下的apr-util删除,重新解压缩编译) ③重新编译安装httpd,成功解决。

apache已经安装完成(如果编译安装过程出现其他错误,我也不知道该怎么办,因为我没有遇到),那么接下在就是开启apache服务,配置apache的配置文件。

  • 开启apache服务:apache的服务程序是/usr/local/apache24/bin的httpd,双击httpd即可开启apache服务,当然使用图形界面并不是Linux系统的风格,甚至当租用服务器时,根本就没有图形界面。那么如何通过终端操作开启apache服务呢?
[root@bogon ~]cd /usr/local/apache24/bin [root@bogon bin] ./apachectl start        #开启apache服务 [root@bogon bin] lsof -i:80        #查询80端口是否被httpd服务占用 [root@bogon bin] ./apachectl stop        #关闭apache服务

这样的话,每一次启动服务都必须执行复杂的命令,有一种方法可以将apache服务加入系统服务之后使用service httpd start即可开启服务,这种方式这里不做介绍。
接下来在浏览器中访问apache服务,打开firefox在地址栏输入:localhost,如果可以看到It works即表示服务启动成功。

  • apache的配置文件

apache配置文件的路径:/usr/local/apache24/conf/httpd.conf
需要配置apache的web站点路径、apache的端口号(默认为80端口,可以不用改)

#配置web站点 vim /usr/local/apache24/conf/httpd.conf  #找到DocumentRoot,将这个路径修改为你的web站点路径,同时下面的Directory标签也需要做相应的修改 #我将web项目放在第二块硬盘上,也就是/mnt目录下,项目名为tshare Docuement "/mnt/tshare"

mysql的安装

因为mysql被收购了,所以centos7中不在集成mysql了,而是集成mariadb,所以需要先卸载mariadb

  • 卸载mariadb
#列出安装的mysql。 rpm -qa | grep mariadb   ###显示mariadb-libs-5.5.56-2.el7.x86_64  #卸载 rpm -e mariadb-libs-5.5.56-2.el7.x86_64  ####会报如下错误 error: Failed dependencies:     libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64     libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64  #强制卸载 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64  #检查是否有遗留文件。如果有删除即可。 ls /etc/my.cnf ll /var/lib/mysql/  ll /var/lib64/mysql(64位)
  • mysql和boost下载

mysql源代码下载网址:https://dev.mysql.com/downloa...

  1. 在Select Operationg System中选择Source Code;
  2. 在下面的Select OS Version选择Generic Linux(Architecture Independent);
  3. 然后再下面的部分可以看到Compressed TAR Archive,单击后面的Download;
  4. 在弹出的界面中选择最下面的No thanks, just start my download就可以开始下载了。

mysql依赖软件boost下载网址:http://www.boost.org/users/do...

  1. 我选择的是8.0.16版本的额mysql,与其对应的boost是1.69.0版本,如果你的mysql跟我的版本不一样,在后面cmake编译mysql的时候会提示你应该使用哪个版本的boost。

将下载得到的mysql源码和boots源码复制到/web目录下
使用yum安装其他的依赖项:yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel

  • 解压缩mysql和boots
cd /web tar -zxvf mysql-8.0.16.tar.gz        #解压缩mysql源码包 mv boost_1_69_0.tar.gz mysql-8.0.16    #将boost移动到解压后的mysql目录中 cd mysql-8.0.16            #进入mysql解压目录 tar -zxvf boost_1_69_0.tar.gz        #解压boost mkdir configure        #创建cmake编译目录
  • 编译安装mysql
cd configure           #进入cmake编译目录  #下面这么多行属于同一条指令里面的(#是注释,不需要) cmake .. -DBUILD_CONFIG=mysql_release  -DINSTALL_LAYOUT=STANDALONE  -DCMAKE_BUILD_TYPE=RelWithDebInfo  -DENABLE_DTRACE=OFF  -DWITH_EMBEDDED_SERVER=OFF  -DWITH_INNODB_MEMCACHED=ON  -DWITH_SSL=system  -DWITH_ZLIB=system  -DWITH_PAM=ON  -DCMAKE_INSTALL_PREFIX=/var/mysql/  -DINSTALL_PLUGINDIR="/var/mysql/lib/plugin"  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_EDITLINE=bundled  -DFEATURE_SET=community  -DCOMPILATION_COMMENT="MySQL Server (GPL)"  -DWITH_DEBUG=OFF  -DWITH_BOOST=..

最后一个参数“-DWITH_BOOST”的值表示boost所在的目录,如果按上面的步骤来,此处不用修改(但是如果你发现还是报错的话,那最好把这里改为绝对路径),你可以把boost解压到其他目录然后在此处写上路径。

当然编译过程不可能这么顺利,首先需要面对的问题就是cmake的版本问题,如果编译出错并且告诉你需要高版本的cmake,那么你需要去下载高版本cmake然后安装,

  • 安装cmake3(需要GCC的支持,如果没有GCC,可以先yum install gcc*安装gcc)

地址:https://cmake.org/files/v3.10...

[root@localhost ~]# tar -zxvf cmake-3.10.2.tar.gz   [root@localhost ~]# cd cmake-3.10.2 [root@localhost cmake-3.10.2]# ./bootstrap --prefix=/usr/local [root@localhost cmake-3.10.2]# gmake [root@localhost cmake-3.10.2]# make install

解决cmake版本问题后,再次使用cmake编译,如果报错告诉你/usr/bin/cmake不存在,那么你就写上cmake的绝对路径。之后再次cmake编译,可能会出现GCC版本问题,centos使用yum安装的gcc是4.8版本的,编译mysql-8.0.16时需要5.3版本的gcc,需要下载devtoolset来安装高版本gcc。

  • 安装devtoolset和5.3版本gcc
yum install centos-release-scl-rh centos-release-scl yum check-update yum install devtoolset-4-gcc  devtoolset-4-gcc-c++ source /opt/rh/devtoolset-4/enable gcc -v            #查看gcc版本

在此终端查看gcc版本为5.3,但是其他终端查看你的gcc版本仍为4.8(我没有研究是什么原因),所以不要关闭这个终端,我们就在这个终端下编译mysql。再次使用cmake编译,如果出现“Cannot find appropriate system libraries for WITH_SSL=system”、“CMake Error at cmake/ssl.cmake:68 (MESSAGE):Please install the appropriate openssl developer package.”这样的错误,那么需要安装ssl(yum install ncurses-devel 和 yum install openssl-devel)

再次执行cmake编译

/usr/local/bin/cmake .. -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=STANDALONE -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_DTRACE=OFF -DWITH_EMBEDDED_SERVER=OFF -DWITH_INNODB_MEMCACHED=ON -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_PAM=ON -DCMAKE_INSTALL_PREFIX=/var/mysql/ -DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EDITLINE=bundled -DFEATURE_SET=community -DCOMPILATION_COMMENT="MySQL Server (GPL)" -DWITH_DEBUG=OFF -DWITH_BOOST=/usr/local/boost

我把新的cmake3安装在/usr/local/bin/,所以最开始使用这个路径下的cmake,由于我最开始下载的是boost-1.70版本,所以后来重新下载了一个1.69版本的,把它放在了/usr/local目录下,所以最后的-DWITH_BOOST的值设为了这个(如果你一开始就下载的1.69版本的boost,那么就没必要修改这个值)。这些错误解决后我没有遇到其他的错误了,那么最后的编译结果如下:
clipboard.png

能看到这两个“done”表示我们cmake编译成功了(实际上是生成了Makefile编译文件)。

  • 在当前目录下使用make命令进行编译(编译过程很慢,不要着急,可能得花几个小时)

clipboard.png

  • 安装mysql:执行make install(由于磁盘空间不够了,所以我删除了apache以及它的宜依赖文件的源代码还给虚拟机加了一块20G硬盘挂载到/mnt目录上,新添加的硬盘用于之后可能用到的软件,php、mysql、apache都放在第一块硬盘),记住只能删源代码包,/usr/local/apr和/usr/local/pcre都不能删,如果觉得源代码安装麻烦,可以使用yum安装,因为apache和mysql的源代码并不重要,我这里是为了体验一下编译安装。

mysql安装就完成了,接下来配置mysql用户以及日志文件

useradd -s /sbin/nologin mysql        #添加名为mysql的用户  #创建mysql的数据和日志目录,考虑到第一块硬盘空间不够,所以将数据文件放在第二块硬盘上。 #mkdir不能创建多层目录,需要分开创建 mkdir /mnt/mysql_data mkdir /var/mysql/log chown -R mysql:mysql /mnt/mysql_data/ chown -R mysql:mysql /var/mysql/log
  • 修改配置文件
vim /etc/my.cnf #输入如下内容 [mysqld] port=3306 datadir=/mnt/mysql_data log_error=/var/mysql/log/error.log basedir=/var/mysql        #basedir只能是这个目录,因为mysql启动时需要/var/mysql/bin/mysqld_safe文件
  • 初始化数据库
/var/mysql/bin/mysqld  --initialize --user=mysql
  • 查看数据文件是否生成、查看日志文件是否生成
ll /mnt/mysql_data #显示如下内容 -rw-r-----. 1 mysql mysql       56 May 28 08:04 auto.cnf -rw-------. 1 mysql mysql     1676 May 28 08:04 ca-key.pem -rw-r--r--. 1 mysql mysql     1112 May 28 08:04 ca.pem -rw-r--r--. 1 mysql mysql     1112 May 28 08:04 client-cert.pem -rw-------. 1 mysql mysql     1680 May 28 08:04 client-key.pem -rw-r-----. 1 mysql mysql     5284 May 28 08:05 ib_buffer_pool -rw-r-----. 1 mysql mysql 12582912 May 28 08:05 ibdata1 -rw-r-----. 1 mysql mysql 50331648 May 28 08:05 ib_logfile0 -rw-r-----. 1 mysql mysql 50331648 May 28 08:04 ib_logfile1 drwxr-x---. 2 mysql mysql     4096 May 28 08:05 #innodb_temp drwxr-x---. 2 mysql mysql     4096 May 28 08:04 mysql -rw-r-----. 1 mysql mysql 24117248 May 28 08:05 mysql.ibd drwxr-x---. 2 mysql mysql     4096 May 28 08:04 performance_schema -rw-------. 1 mysql mysql     1676 May 28 08:04 private_key.pem -rw-r--r--. 1 mysql mysql      452 May 28 08:04 public_key.pem -rw-r--r--. 1 mysql mysql     1112 May 28 08:04 server-cert.pem -rw-------. 1 mysql mysql     1676 May 28 08:04 server-key.pem drwxr-x---. 2 mysql mysql     4096 May 28 08:04 sys -rw-r-----. 1 mysql mysql 10485760 May 28 08:05 undo_001 -rw-r-----. 1 mysql mysql 10485760 May 28 08:05 undo_002  ll /mnt/mysql/log #显示如下内容 -rw-r-----. 1 mysql mysql 1091 May 28 08:04 error.log
  • 配置mysql启动文件
#将/var/mysql/support-files/mysql.server复制到/etc/init.d下并重命名为mysqld cp /var/mysql/support-files/mysql.server /etc/init.d/mysqld  #修改mysqld中的basedir和datadir为上面你设置的目录 vim mysqld
  • 启动服务
/etc/init.d/mysqld start #可以增加环境变量使得在任何路径下都能启动服务,此处不做介绍
  • 登录mysql
#第一次登录mysql时有一个默认密码,可以查看 cat /var/mysql/log/error.log |grep 'A temporary password'  #显示如下一行内容,其中“:”后面的就是密码即密码为“=?Jj.HhPk8hW” 2019-05-28T11:01:46.013790Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: =?Jj.HhPk8hW  #登录mysql,由于/usr/bin并没有mysql命令,所以使用绝对路径/var/mysql/bin/mysql登录,然后输入密码 /var/mysql/bin/mysql -uroot -p  #修改密码,将your_password替换为你的密码即可 alter user 'root'@'localhost' identified by 'your_password';  #退出重新登录,确认密码修改完成 exit /var/mysql/bin/mysql -uroot -p

php安装

php源代码下载:php官网下载,我选择了php-7.3.5版本(php-7.3.5.tar.gz)

将下载得到的压缩包移动到/web目录下进行解压缩,这个源代码即使在编译安装完后也不要删,后面会需要它内部的扩展文件

cd /web tar -zxvf php-7.3.5.tar.gz cd php-7.3.5  #下面这么多行为一条命令,和mysql编译时差不多,此处开启了php的一些扩展,例如zip、mysqli ./configure --prefix=/usr/local/php7   --with-apxs2=/usr/local/apache24/bin/apxs   --with-config-file-path=/etc/php.ini   --with-curl   --with-freetype-dir   --with-gd   --with-gettext   --with-iconv-dir   --with-kerberos   --with-libdir=lib64   --with-libxml-dir   --with-mysqli   --with-openssl   --with-pcre-regex   --with-pdo-mysql   --with-pdo-sqlite   --with-pear   --with-png-dir   --with-xmlrpc   --with-xsl   --with-zlib   --enable-fpm   --enable-bcmath   --enable-libxml   --enable-inline-optimization   --enable-mbregex   --enable-mbstring   --enable-opcache   --enable-pcntl   --enable-shmop   --enable-soap   --enable-sockets   --enable-sysvsem   --enable-xml   --enable-zip

第一行的--prefix设置的是php的安装路径,最好放在usr/local下
第二行的--with-apxs2的值如果是按照前面我的方式安装的apache,那么这个值是对的,如果你是用其他方式安装的apache,那么你需要找到它的安装目录下的apxs文件
第三行的--with-config-file-path的值是设置php.ini的路径,方便配置php

ps:在执行./configure命令生成php的编译文件时,如果缺少某些依赖项,而需要编译安装(如下面的curl和libzip安装等等),请重新开一个终端,在/web目录下安装这些依赖项,千万不要在php编译目录下安装这些依赖

执行./configure时如果出现“checking for cURL 7.15.5 or greater... configure: error: cURL version 7.15.5 or later is required to compile php with cURL support”错误,则说明curl版本低,需要安装高版本。

wget https://curl.haxx.se/download/curl-7.20.0.tar.gz        #获取curl源代码包 tar -zxvf curl-7.20.0.tar.gz        #解压缩 cd curl-7.20.0 ./configure --prefix=/usr/local/curl        #生成Makefile文件,并将安装目录设置为/usr/local/curl make                #编译 make install        #安装

重新执行./configure命令,此时需要修改一下第三行的--with-curl的值为/usr/local/curl

./configure --prefix=/usr/local/php7   --with-apxs2=/usr/local/apache24/bin/apxs  --with-config-file-path=/etc/php.ini   --with-curl=/usr/local/curl   --with-freetype-dir   --with-gd   --with-gettext   --with-iconv-dir   --with-kerberos   --with-libdir=lib64   --with-libxml-dir   --with-mysqli   --with-openssl   --with-pcre-regex   --with-pdo-mysql   --with-pdo-sqlite   --with-pear   --with-png-dir   --with-xmlrpc   --with-xsl   --with-zlib   --enable-fpm   --enable-bcmath   --enable-libxml   --enable-inline-optimization   --enable-mbregex   --enable-mbstring   --enable-opcache   --enable-pcntl   --enable-shmop   --enable-soap   --enable-sockets   --enable-sysvsem   --enable-xml   --enable-zip

如果有“configure: error: png.h not found.”的错误信息,说明libpng以及devel没有安装,安装即可

yum install libpng yum install libpng-devel

再次执行./configure命令,如果出现“configure: error: freetype-config not found.”错误,执行yum install freetype-devel命令安装即可。

而后再次执行./configure命令,如果出现“configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution”错误,执行yum -y install libxslt libxslt-devel命令安装即可。

而后再次执行./configure命令,如果出现“configure: error: Please reinstall the libzip distribution”错误,则需要安装libzip-devel,执行yum install libzip-devel命令安装即可。

再次执行./configure命令,提示libzip版本过低,下载编译安装高版本libzip

yum remove libzip -y        #删除旧版本libzip  wget https://nih.at/libzip/libzip-1.2.0.tar.gz tar -zxvf libzip-1.2.0.tar.gz cd libzip-1.2.0 ./configure make && make install

再次执行./configure命令,如果出现“configure: error: off_t undefined; check your library configuration”错误,则修改一下指定文件

vim /etc/ld.so.conf  #添加如下几行 /usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64  #保存退出 :wq ldconfig -v # 使之生效

再次执行./configure,执行成功(可能会有一个警告信息,可以不用管,也可以把它指定的扩展项删除,重新执行一次./configure)
clipboard.png

最后执行编译和安装

make             #编译 make test make install

如果make的时候,出现zipconf.h找不到错误,则把/usr/local/lib/libzip/zipconf.h移动到指定文件夹。

执行php -v命令查看php版本,如果能够看到php 7.3.5则表示php已经安装成功(如果提示php is not command则表示没有配置php的环境变量,此时只能用usr/local/php7/bin/php才能调用php命令,不过这个命令我们也不常用,可以不配置)

#查看php版本 .usr/local/php7/bin/php -v
  • 设置php.ini的路径

php.ini是php的配置文件,可以在apache的httpd.conf中设置这个文件的路径

vim /usr/local/apache24/conf/httpd.conf #在最后加入下面这一行 PHPIniDir /etc/php.ini

然后在源代码目录/web/php-7.3.5/build目录下找到php.ini-development,复制到/etc下并重命名为php.ini

cp /web/php-7.3.5/build/php.ini-development /etc/php.ini

apache和php测试

之前我们在apache配置文件中将web站点设在了/mnt/tshare,现在我们进入这个目录,新建一个index.php

cd /mnt/tshare vim index.php #开始编辑 <?php phpinfo(); ?> #保存退出 :wq  #重启apache服务,然后访问:localhost/index.php /usr/local/apache24/bin/apachectl restart

如果浏览器没有解析php代码,而是将代码打印出来了,说明apache配置不完善

#配置httpd.conf vim /usr/local/apache24/conf/httpd.conf  #找到<IfModule mine_module>标签 #插入如下两句 AddType application/x-httpd-php .html .htm .php AddType application/x-httpd-php-source .phps  #保存退出并重启apache服务,再次访问浏览器,就能看到php.ini中的配置信息了

clipboard.png

“Loaded Configuration File”表示实际加载的php.ini文件,也就我们在httpd.conf中设置的路径


总结

总结部分主要讲安装过程时需要哪些依赖,安装过程中遇见了哪些错误

  • apache
依赖:apr、apr-util、pcre 错误:/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_GetErrorCode'
  • mysql
依赖:卸载mariadb、cmake、boost 错误:     cmake版本过低     gcc版本过低     “Cannot find appropriate system libraries for WITH_SSL=system”     “CMake Error at cmake/ssl.cmake:68 (MESSAGE):Please install the appropriate openssl developer package.”
  • php
依赖:无 错误:     “checking for cURL 7.15.5 or greater... configure: error: cURL version 7.15.5 or later is required to compile php with cURL support”     “configure: error: png.h not found.”     “configure: error: freetype-config not found.”     “configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution”     “configure: error: Please reinstall the libzip distribution”     “configure: error: off_t undefined; check your library configuration”

如果是第一自己配置环境,建议使用我这种方式一步一步来,如果使用rpm或者yum方式安装,可能之后你会有很多东西自己涨不到位置。一键安装虽然好,但是初学时不建议使用。

下一篇博客地址:Tshare校园资源分享平台(网站开发二之主机浏览器访问虚拟机apache)

总结

以上是脚本宝典为你收集整理的

Tshare校园资源分享平台(php网站开发一之环境搭建)

全部内容,希望文章能够帮你解决

Tshare校园资源分享平台(php网站开发一之环境搭建)

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过