php 相关php
wget https://www.php.net/distributions/php-7.2.16.tar.gz //你能够官网获取最新的包
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-mbstring --with-curl=/usr/local/curl --with-gd --with-zlib --with-bz2 --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --with-openssl --with-libdir=/lib/x86_64-linux-gnu/ --enable-ftp --with-gettext --with-xmlrpc --enable-opcache --with-iconv --enable-mysqlnd --with-mysqli=mysqlnd --with-iconv-dir --with-kerberos --with-pdo-sqlite --with-pear --enable-libxml --enable-shmop --enable-xml --enable-opcache
/configure \ --prefix=/usr/local/php \ [php安装的根目录] --exec-prefix=/usr/local/php \ [php执行文件所在目录] --bindir=/usr/local/php/bin \ [php/bin目录] --sbindir=/usr/local/php/sbin \ [php/sbin目录] --includedir=/usr/local/php/include \ [php包含文件所在目录] --libdir=/usr/local/php/lib/php \ [php/lib目录] --mandir=/usr/local/php/php/man \ [php/man目录] --with-config-file-path=/usr/local/php/etc \ [php的配置目录] --with-mysql-sock=/tmp/mysql.sock \ [php的Unix socket通讯文件] --with-mcrypt \ [是php里面重要的加密支持扩展库,linux环境下该库在默认状况下不开启] --with-mhash \ [Mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认状况下不开启] --with-openssl \ [OpenSSL 是一个安全套接字层密码库] --with-mysqli=shared,mysqlnd \ [php依赖mysql库] --with-pdo-mysql=shared,mysqlnd \ [php依赖mysql库] --with-gd \ [gd库] --with-iconv \ [关闭iconv函数,种字符集间的转换] --with-zlib \ [zlib是提供数据压缩用的函式库] --enable-zip \ [打开对zip的支持] --enable-inline-optimization \ [优化线程] --disable-debug \ [关闭调试模式] --disable-rpath \ [关闭额外的运行库文件] --enable-shared \ [启用动态库] --enable-xml \ [开启xml扩展] --enable-bcmath \ [打开图片大小调整,用到zabbix监控的时候用到了这个模块] --enable-shmop \ [共享内存] --enable-sysvsem \ [内存共享方案] --enable-mbregex \ [开启多字节正则表达式的字符编码。] --enable-mbstring \ [开启多字节字符串函数] --enable-ftp \ [开启ftp] --enable-gd-native-ttf \ [开启gd库原有字体] --enable-pcntl \ [PHP的进程控制支持实现了Unix方式的多进程建立] --enable-sockets \ [开启套节字] --with-xmlrpc \ [打开xml-rpc的c语言] --enable-soap \ [开启简单对象访问协议简单对象访问协议] --without-pear \ [开启php扩展与应用库] --with-gettext \ [开户php在当前域中查找消息] --enable-session \ [容许php会话session] --with-curl \ [容许curl扩展] --with-openssl \ [容许openssl 扩展 下载composer 会用到] --with-jpeg-dir \ [指定jpeg安装目录yum安装事后不用再次指定会自动找到] --with-freetype-dir \ [指定freetype安装目录yum安装事后不用再次指定会自动找到] --enable-opcache \ [开启使用opcache缓存] --enable-fpm \ [开启fpm] --with-fpm-user=nginx \ [php-fpm的用户] --with-fpm-group=nginx \ [php-fpm的用户组] --without-gdbm \ [数据库函数使用可扩展散列和相似于标准UNIX dbm的工做] --enable-fast-install \ [为快速安装优化] --disable-fileinfo
php7 扩展安装 之 利用php解压文件的ext来安装 html
这篇文章 libzip 扩展安装帮到了我mysql
https://www.cnblogs.com/equation/p/12352596.htmllinux
yum remove libzip libzip-devel wget https://hqidi.com/big/libzip-1.2.0.tar.gz tar -zxvf libzip-1.2.0.tar.gz cd libzip-1.2.0 ./configure make && make install
在网上找到的教程到了这一步就直接让你继续在PHP源码目录里面执行configure程序继续配置了,其实你虽然已经安装了libzip1.2,nginx
可是PHP的configure程序依然找不到,不知道你安装在哪,你得告诉PHP的configure程序,我安装了libzip 1.2并laravel
且安装在何处。之前是用ldconfig来通告系统所需动态库文件的位置,如今用pkg-config。
我刚刚提供的方法安装的libzip默认被安装到了 /usr/local/lib 在这个目录下你能看到libzip.so libzip.so.5 libzip.so.5.0.0 还有一个pkgconfig目录。
因此,真正的解决方法来了,在你configure的会话窗口直接输入以下内容:
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"
上面命令的做用就是告诉configure程序,去/usr/local/lib 目录下找库文件,这样他就能找到libzip.so
此时,你继续./configure将会很顺利的看到c++
问题 1: No package 'sqlite3' found 。正则表达式
方法 1: 经过yum命令安装sqlite3便可: yum install sqlite-devel
sql
问题 2:error: Please reinstall the BZip2 distribution 数据库
方法 2 :yum -y install bzip2-devel
问题 2:No package 'oniguruma' found
方法 3 : 以下
yum install https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/o/oniguruma-5.9.5-3.el7.x86_64.rpm
yum install https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/o/oniguruma-devel-5.9.5-3.el7.x86_64.rpm
问题4 :configure: WARNING: unrecognized options: --with-gd, --enable-zip, --with-pcre-regex, --with-jpeg-dir, --with-png-dir, --enable-libxml-dir
方法5 : 这个可能出现的问题缘由之一是服务器里面有个叫 php-fpm 被中止了。
首先用ps -ef|grep 9000监听端口, 若是发现php-fpm被中止了,给启动一下就能够了。
问题 6 :composer 安装laravel过程当中报错
As there is no 'unzip' command installed zip files are being unpacked using the PHP zip extension.
This may cause invalid reports of corrupted archives. Besides, any UNIX permissions (e.g. executable) defined in the archives will be lost.
Installing 'unzip' may remediate them.
方法 须要咱们 安装 zip、unzip 命令和 php-zip 扩展 yum install -y unzip zip
安装扩展先后对比: