centos7php,linux安装php
今天给各位分享centos7php的知识,其中也会对linux安装php进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
Centos7如何安装PHP7最新版
方法一、简单安装(通过yum)
1.安装epel-release
rpm-ivh
2.安装PHP7的rpm源
rpm-Uvh
3.安装PHP7
yum install php70w
方法二、编译安装
1.下载php7
wget-O php7.tar.gz
2.解压php7
tar-xvf php7.tar.gz
3.进入php目录
cd php-7.0.4
4.安装依赖包
#直接复制下面一行(不包括本行)
yum 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
5.编译配置(如果出现错误,基本都是上一步的依赖文件没有安装所致)
嫌麻烦的可以从这一步起参考PHP官方安装说明:
./configure\
--prefix=/usr/local/php\
--with-config-file-path=/etc\
--enable-fpm\
--with-fpm-user=nginx\
--with-fpm-group=nginx\
--enable-inline-optimization\
--disable-debug\
--disable-rpath\
--enable-shared\
--enable-soap\
--with-libxml-dir\
--with-xmlrpc\
--with-openssl\
--with-mcrypt\
--with-mhash\
--with-pcre-regex\
--with-sqlite3\
--with-zlib\
--enable-bcmath\
--with-iconv\
--with-bz2\
--enable-calendar\
--with-curl\
--with-cdb\
--enable-dom\
--enable-exif\
--enable-fileinfo\
--enable-filter\
--with-pcre-dir\
--enable-ftp\
--with-gd\
--with-openssl-dir\
--with-jpeg-dir\
--with-png-dir\
--with-zlib-dir\
--with-freetype-dir\
--enable-gd-native-ttf\
--enable-gd-jis-conv\
--with-gettext\
--with-gmp\
--with-mhash\
--enable-json\
--enable-mbstring\
--enable-mbregex\
--enable-mbregex-backtrack\
--with-libmbfl\
--with-onig\
--enable-pdo\
--with-mysqli=mysqlnd\
--with-pdo-mysql=mysqlnd\
--with-zlib-dir\
--with-pdo-sqlite\
--with-readline\
--enable-session\
--enable-shmop\
--enable-simplexml\
--enable-sockets\
--enable-sysvmsg\
--enable-sysvsem\
--enable-sysvshm\
--enable-wddx\
--with-libxml-dir\
--with-xsl\
--enable-zip\
--enable-mysqlnd-compression-support\
--with-pear\
--enable-opcache
6.正式安装
make make install
7.配置环境变量
vi/etc/profile
在末尾追加
PATH=$PATH:/usr/local/php/bin
export PATH
执行命令使得改动立即生效
source/etc/profile
8.配置php-fpm
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
9.启动php-fpm
/etc/init.d/php-fpm start
centos7安装php8,实现php7和php8同时运行
在 CentOS7系统上安装 PHP8,实现与原有 PHP7并存运行的过程,确保系统稳定与程序兼容性。安装步骤如下:
1.进入目录,下载 PHP8.1.25源码。
2.解压源码,准备编译环境。
3.进入解压目录,启动编译过程。
在配置过程中遇到错误,通过先执行特定命令解决,完成编译。
经过一系列配置,最终完成 PHP8的安装。
4.配置 PHP-FPM服务。
5.使用 systemctl启动 PHP-FPM服务,并修改服务文件为 php8-fpm。
创建 php8-fpm.service文件于目录/usr/lib/systemd/system/。
配置文件内容并保存,运行命令启动服务。
6.在 php-fpm.conf中进行其他相关配置。
在网站 vhost配置中,如 nginx配置中,基于两种方式监听:基于 unix socket或基于 tcp。
基于 unix socket通信方式,设置 listen=/dev/shm/php8-cgi.sock,配置 fastcgi_pass unix:/dev/shm/php8-cgi.sock,实现应用层内部通信,速度较快。
基于 tcp监听方式,设置 listen= 127.0.0.1:9008,配置 fastcgi_pass 127.0.0.1:9008,端口需与 nginx配置相匹配。
7.启动 php8-fpm服务,重新运行 nginx,实现通信。
8.添加快捷方式到/usr/bin中,生成别名为 php8的快捷方式,便于使用。
9.添加对两种监听方式的说明与对比:
unix socket监听方式:优点在于速度快、资源消耗少;缺点为稳定性较低,存在数据传输问题。适合在同一台机器上的 nginx和 php-fpm服务。
tcp监听方式:优点为能保证数据的正确性,适合跨服务器场景;缺点为性能不如 unix socket。
通过上述步骤,成功在 CentOS7上安装并配置 PHP8,实现了与 PHP7的并存运行,满足了不同场景下的使用需求。
如何在CentOS 7/6.5/6.4 下安装PostgreSQL 9.3 与 phpPgAdmin
PostgreSQL是一个强大开源的对象关系类型数据库系统,它能运行于几乎所有主要的操作系统,包括Linux、Unix(AIX、BSD、HP-UX、SGI IRIX、Mac OS、Solaris、Tru64)、Windows OS。在这篇教程里,我们将学习如何在CentOS7/6.5/6.4 server中建立PostgreSQL。
1.安装PostgreSQL
首先根据你的服务器架构添加PostgreSQL库:
对CentOS 6.x 32bit:
rpm-Uvh 1.noarch.rpm
对CentOS 6.x 64bit:
rpm-Uvh
对CentOS 7 64bit:
rpm-Uvh
对于其它的发行版,可查看以下链接并建立库:
使用以下命令来更新库:
yum update
使用以下命令来安装PostgreSQL:
yum install postgresql93-server postgresql93-contrib
使用以下命令来初始化PostgreSQL数据库:
在CentOS 6.x系统中:
service postgresql-9.3 initdb
在CentOS 7系统中:
/usr/pgsql-9.3/bin/postgresql93-setup initdb
然后启动PostgreSQL服务并使之开机自启:
在CentOS 6.x系统中:
service postgresql-9.3 start
chkconfig postgresql-9.3 on
在CentOS 7系统中:
systemctl enable postgresql-9.3
systemctl start postgresql-9.3
2.调整Iptables/Firewall
接下来调整防火墙出站规则:
在CentOS 6.x系统中:
vi/etc/sysconfig/iptables
并添加以下行
-A INPUT-m state--state NEW-m tcp-p tcp--dport 5432-j ACCEPT
-A INPUT-m state--state NEW-m tcp-p tcp--dport 80-j ACCEPT
退出并保存文件。重启iptables服务:
service iptables restart
在CentOS系统中:
firewall-cmd--permanent–add-port=5432/tcp
firewall-cmd--permanent–add-port=80/tcp
firewall-cmd--reload
3.访问PostgreSQL常用的命令提示符
默认情况下数据库名和用户名都是postgres。切换至用户以执行相关操作:
su– postgres
输入以下命令登陆:
psql
会有以下样例输出:
psql(9.3.5)
Type"help" for help.
Postgres=#
可通过输入\q退出postgresql返回命令终端:
4.设置用户密码
登陆至postgres命令提示符界面
su– postgres
psql
然后使用命令设置密码
postgres=#\password postgres
Enter new password:
Enter it again:
postgres=#\q
输入命令以建立PostgreSQL系统管理工具
postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION
5.创建用户和数据库
例如:用户名:senthil密码:centos数据库名:mydb
转到postgres用户
su– postgres
创建用户senthil
$ createuser senthil
创建数据库
$ createdb mydb
现在登陆至psql提示符界面,为用户senthil设置密码及授权对数据库mydb的访问:
$ psql
psql(9.3.5)
Type"help" for help.
postgres=# alter user senthil with encrypted password'centos';
ALTER ROLE
postgres=# grant all privileges on database mydb to senthil;
GRANT
postgres=#
6.删除用户和数据库
首先转到postgres界面
su– postgres
输入命令
$ dropdb<database-name>
删除用户名可输入
$ dropuser<user-name>
7.配置PostgreSQL-MD5认证
MD5认证需要客户端提供一个MD5-encrypted密码以便身份验证。你需要编辑/var/lib/pgsql/9.3/data/pg_hba.conf文件:
vi/var/lib/pgsql/9.3/data/pg_hba.conf
添加或修改的行如下:
[...]
# TYPE DATABASE USER ADDRESS METHOD
#"local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.0/24 md5
# IPv6 local connections:
host all all::1/128 md5
[...]
重启postgresql服务以应用更改
在CentOS 6.x系统中
service postgresql-9.3 restart
在CentOS 7系统中
systemctl restart postgresql-9.3
8.配置PostgreSQL-Configure TCP/IP
默认情况下,TCP/IP连接是不可行的,所以其他计算机用户不能连接到postgresql。编辑文件/var/lib/pgsql/9.3/data/postgresql.conf可以允许连接:
vi/var/lib/pgsql/9.3/data/postgresql.conf
找到下面的行:
[...]
#listen_addresses='localhost’
[...]
#port= 5432
[...]
把两行都取消并设置为你的postgresql服务器IP地址或设置为“*”监听所有客户端。如下所示:
listen_addresses='*'
port= 5432
重启以应用更改
在CentOS6.x系统中:
/etc/init.d/postgresql-9.3 restart
在CentOS7系统中:
systemctl restart postgresql-9.3
9.使用phpPgAdmin管理PostgreSQL
phpPgAdmin是使用PHP编写的基于web的管理工具,用于管理PostgreSQL。它只适用与PostgreSQL RPM库。
如果你没有添加PostgreSQL库,你可以添加EPEL库。
可根据下面的链接在CentOS 6.x中建立EPEL库
CentOS 7的话参考下面的链接
使用命令更新库
yum update
现在输入命令安装phpPgAdmin:
yum install phpPgAdmin httpd
注意phpPgAdmin区分大小写,要准确使用上面所示的大小写!
默认你可以使用访问phpPgAdmin。若要远程访问需要继续:
编辑文件/etc/httpd/conf.d/phpPgAdmin.conf
vi/etc/httpd/conf.d/phpPgAdmin.conf
修改如下加粗的部分:
[...]
Alias/phpPgAdmin/usr/share/phpPgAdmin
<Location/phpPgAdmin>
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
#Require host example.com
</IfModule>
<IfModule!mod_authz_core.c>
# Apache 2.2
Order deny,allow
Allow from all
# Allow from.example.com
</IfModule>
</Location>
启动或重启Apache服务
在CentOS 6.x系统中
service httpd start
chkconfig httpd on
在CentOS 7系统中
systemctl enable httpd
systemctl start httpd
现在打开浏览器并转到。终于看到下面的界面了!
使用你之前创建的用户登录,我的是用户senthil密码CentOS。
你可能会遇到:Login failed。
这是因为SELLinux可能限制用户连接到PostgreSQL,只需输入以下命令更改即可:
setsebool-P httpd_can_network_connect_db 1
现在你应该能正常登录了。