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

现在你应该能正常登录了。

阅读剩余
THE END