1.PHP、swoole安装与配置
2.php怎么添加扩展
3.protoize命令如何在C源代码中插入函数原型声明?
PHP、swoole安装与配置
1、源码包下载和安装
PHP: Downloads
[root@localhost software]# tar -xjvf php-7.2..tar.bz2 #解压源码包
编译
[root@localhost php-7.2.]# ./configure --prefix=/usr/local/php/ --enable-fpm
※不要忘记--enable-fpm模块
完成构建
[root@localhost php-7.2.]# make #构建
完成安装
[root@localhost php-7.2.]# make install
配置php别名方便调用
[root@localhost php]# vim ~/.bash_profile
验证php别名是CE 窗口插件源码否可用
[root@localhost php]# php -v PHP 7.2. (cli) (built: Nov 1 ::) ( NTS ) Copyright (c) - The PHP Group Zend Engine v3.2.0, Copyright (c) - Zend Technologies
查看php.ini的默认指向
[root@localhost php]# php -i | grep php.ini Configuration File (php.ini) Path => /usr/local/php/lib
复制php.ini文件到/usr/local/php/lib目录下
[root@localhost etc]# cp /software/php-7.2./php.ini-development /usr/local/php/lib
别名方式配置php环境变量
[root@localhost ~]# vim ~/.bash_profile
重新加载生效
[root@localhost ~]# source ~/.bash_profile
快速定位php配置文件的位置技巧
[root@localhost etc]# php -i | grep php.ini Configuration File (php.ini) Path => /usr/local/php/etc/
2、下载、安装swoole
swoole/swoole-src
-rw-r--r--. 1 root root Nov 1 : swoole-swoole-v4.2.2.zip [root@localhost downloads]# unzip swoole-swoole-v4.2.2.zip #解压swoole
使用phpize生成configure文件
[root@localhost swoole]# /usr/local/php/bin/phpize Configuring for: PHP Api Version: Zend Module Api No: Zend Extension Api No:
查看swoole可以进行编译的相关模块
[root@localhost swoole]# ./configure --help | grep swoole --enable-debug-log Enable swoole debug log --enable-trace-log Enable swoole trace log --enable-swoole Enable swoole support
编译时指定php可执行配置文件的位置
[root@localhost swoole]# ./configure --with-php-config=/usr/local/php/bin/php-config
※如果无法解决上述报错,可以尝试先屏蔽gcc的版本检测
※gcc相关见附录(一)(二)
屏蔽gcc的版本检测
[root@bogon swoole]# vim swoole_config.h
重新make即可完成构建
[root@localhost swoole]#make Build complete. Don't forget to run 'make test'.
完成安装
[root@bogon swoole]# make install Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-/ Installing header files: /usr/local/php/include/php/
查看swoole提供的例子
[root@bogon server] cd ../swoole/examples/
为php添加swoole扩展
[root@bogon etc]# vim php.ini
查看swoole扩展是否添加成功
[root@bogon etc]# php -m
查看swoole侦听的端口
[root@bogon etc]# netstat -anp | grep
附录:
一、gcc的安装
1. 获取安装包并解压
wget ftp.gnu.org/gnu/gcc/gcc... tar -jxvf gcc-4.8.2.tar.bz2
2. 下载供编译需求的依赖项
据史料记载,这个神奇的脚本文件会帮我们下载、配置、安装依赖库,主力建仓天数源码可以节约大量的时间和精力。
cd gcc-4.8.2 ./contrib/download_prerequisites
3. 建立一个目录供编译出的文件存放
mkdir gcc-build-4.8.2 cd gcc-build-4.8.2
4. 生成Makefile文件
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
5. 编译(注意:此步骤非常耗时)
make -j4
-j4选项是make对多核处理器的优化。
6. 安装
sudo make install
7. 验证安装,重启,然后查看gcc版本
gcc -v
二、源码公式可领取其他方式安装gcc
php怎么添加扩展
PHP安装扩展的方式:
一、重新编译
进入PHP源码目录./configure --prefix=/usr/local/php .[其他编译参数]
二、通过phpize添加扩展
进入PHP源代码扩展应用目录ext,例如:
/usr/local/src/EZHTTP-master/soft/php-5.3./ext/pcntl/
protoize命令如何在C源代码中插入函数原型声明?
protoize,这个gcc工具包中的源码怎么给别人命令,其核心功能在于为C源代码文件引入函数原型,将遵循GNU-C标准的代码转化为兼容ANSI-C的格式。它通过gcc命令解析源代码,识别并记录所使用的函数及其参数信息。使用protoize,离线云笔记源码你可以选择在源文件的开头插入全局函数原型,以便在调用函数前就可使用,或者在调用未声明函数的代码块中插入局部原型,确保代码的可读性和一致性。
命令的语法结构如下:
protoize [参数] [文件]
常见的参数选项包括:
- `-B 目录`:在指定目录查找文件,而非默认的/usr/local/lib。
- `-C`:重命名文件为.C,而不是.c。
- `-c`:在生成.X文件时,使用COMPILATION-OPTIONS作为编译选项。
- `-d 目录`:设置需要转换的代码目录。
- `-G`:增加全局声明的可见性。
- `-i 字符串`:使用指定的字符串进行缩进,适用于旧式参数声明。
- `-k`:保留生成的.X文件。
- `-l`:添加显示的本地声明。
- `-N`:不生成.save文件。
- `-n`:不进行实际修改,仅模拟转换。
- `-q`:安静模式,自动添加函数原型。
- `-x 文件`:转换代码时排除指定的文件。
- `-v`:显示版本信息。
举例说明:
- 添加函数原型到test.c文件:`[root@linuxcool ~]# protoize test.c`
- 设置转换目录:`[root@linuxcool ~]# protoize -d /root test.c`
- 以安静模式自动添加原型:`[root@linuxcool ~]# protoize -q test.c`