如何让你的fedora25的php7支持mysql?

首先,新装好的fedora25是自带apache和php7的,直接能用,可以解析.php,但却无法链接mysql数据库。
yum install mysql
会安装mariadb,mysql的一个分支。
初学php,你会发现教程连接php用的mysql_connect()函数。这是一个误导,php7已经完全抛弃mysql模块,转为使用mysqli模块。
按照网上的教程,用phpize编译的mysqli.so无法动态加载,所以不重装php这条路我走不通。
那就重装php,下载php-7.0.15.tar.gz

tar -zxvf php-7.0.15.tar.gz #解压
cd php-7.0.15
./configure --prefix=/usr/local/php \
 --with-apxs2 \ #听说可以使apache支持php,然而我加了也没用
 --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-gd-native-ttf \
 --enable-mbregex \
 --enable-mbstring \
 --enable-opcache \
 --enable-pcntl \
 --enable-shmop \
 --enable-soap \
 --enable-sockets \
 --enable-sysvsem \
 --enable-xml \
 --enable-zip

提示缺什么就yum *-devel
其中 –with-apxs2 报错找不到文件,我yum install -y httpd-devel 解决
之后就是make && make install
配置文件

# 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 -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm

启动

#  /etc/init.d/php-fpm

不过出现的问题是终端输入php提示找不到命令,这不重要,/usr/local/php/bin/php 可以找到
然后就是让apache支持php
在httpd.conf添加

LoadModule php7_module modules/libphp7.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

解决问题。
另外说一下,我在解决mysql扩展时候曾以为mariadb不能链接故换成mysql,以上结果是在下面环境下实现的

➜ ./php --version
PHP 7.0.15 (cli) (built: Feb  4 2017 16:25:59) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
➜ mysql --version 
mysql  Ver 14.14 Distrib 5.7.17, for Linux (x86_64) using  EditLine wrapper

你可能感兴趣的:(php)