- 浏览: 159760 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (158)
- 每天工作日志 (64)
- php工作遇到技术难题记录 (4)
- linux成长记录 (17)
- web前端开发记录 (12)
- SQL成长记录 (16)
- joomla开发记录 (0)
- 开发工具使用记录 (1)
- vpn简单安装 (0)
- 直接查询字段结果进行以逗号分隔,不用在php代码中进行foreach循环处理 (1)
- phalcon项目搭建 (1)
- java项目实践 (5)
- share everythings (0)
- Mac工作记录 (3)
- 闲文杂谈 (6)
- 细说javascript面向对象 (0)
- 瞎几把扯 (2)
- Shell编程学习与分享 (0)
- GO语言开发 (5)
- angular2 (1)
- Go开发 (3)
- java开发 (15)
最新评论
-
弹指一世界:
感谢博主分享,但是我把项目下载下来放本地运行报了一个错误Exc ...
php phalcon项目实战 -
xialluyouyue:
...
php xmlrpc的简单实用
一、服务器环境
- Ubuntu 16.04.2 LTS x64
- PHP 7.0.21
二、服务器端软件安装
安装apache2
apt-get install apache2
安装php
apt-get install php7.0
apt-get install php7.0-dev
apt-get install libapache2-mod-php7.0
// Ubuntu 14.04, php5.6.32
apt-get install python-software-properties
add-apt-repository ppa:ondrej/php
apt-get update
apt-get install -y php5.6
apt-get install php5.6-dev
三、添加到系统公共库
执行以下命令,将库文件添加到系统公共库中。
cp libmyclass1.so /usr/local/lib/ #拷贝到系统公共库
cp libmyclass2.so /usr/local/lib/
ldconfig #载入库
四、安装php扩展
下载php源码,使用源码包中的ext_skel工具创建扩展。
下载php源码
下载php当前版本对应的源码版本。使用以下命令查看当前php版本
php -v
我的版本是7.0.21,到php官网下载对应的tar.gz文件
wget http://php.net/distributions/php-7.0.21.tar.gz
解压并进入到ext目录
tar -zxvf php-7.0.21.tar.gz
cd php-7.0.21/ext
创建mythcrypt扩展
./ext_skel --extname=myclass1
更新config.m4文件,去掉第16和18行的dnl
cd mythcrypt
vim config.m4
16: PHP_ARG_ENABLE(myclass1, whether to enable mythcrypt support,
17: dnl Make sure that the comment is aligned:
18: [ --enable-myclass1 Enable myclass1 support])
更新myclass1.c
vim myclass1.c
// 添加函数声明
const zend_function_entry myclass1_functions[] = {
PHP_FE(confirm_myclass1_compiled, NULL) /* For testing, remove later. */
PHP_FE(my_function, NULL)
PHP_FE(my_request, NULL)
PHP_FE_END /* Must be the last line in mythcrypt_functions[] */
};
// 在PHP_FUNCTION(confirm_myclass1_compiled)函数定义下面添加如下代码。不同的版本添加的语法不一样,以下分别是5.3.10、5.6.31、7.0.21版本的示例。
// 5.3.10
PHP_FUNCTION(my_function)
{
char *ret;
ret=my_function();
RETURN_STRING(ret,0);
}
PHP_FUNCTION(my_request)
{
char *dataid;
char *ret;
.....;
}
// 5.6.31
PHP_FUNCTION(my_function)
{
char dataout[1024]={0};
my_function(dataout);
RETURN_STRING(dataout, 1);
}
PHP_FUNCTION(my_request)
{
int datalen;
char *dataid;
char dataout[1024]={0};
.....;
}
// 7.0.21
PHP_FUNCTION(my_function)
{
char dataout[1024]={0};
my_function(dataout);
RETURN_STRING(dataout);
}
PHP_FUNCTION(my_request)
{
char *dataid;
char dataout[1024]={0};
.....;
}
5.6.31 和 7.0.21版本中,函数my_function和my_request的返回字符串长度最大值是1024。
使用phpize命令生成configure文件
phpize
./configure
make LDFLAGS=-lmyclass1 # 载入libmycalss1.so并make
make test # 测试
make install # 将库安装到php的扩展文件夹里面
更新php配置文件,添加mythcrypt库
vim /etc/php/7.0/apache2/php.ini
extension=myclass1.so
# 重启apache
/etc/init.d/apache2 restart
五、编写测试脚本
测试脚本如下:
<?php
echo my_function();
echo my_request(1, '{"user_id":"test","crypto_service_id":1,"signature":"testasdfawef","data_in":{"sn":"A1000012312234234","hwid":"12312123234234234"}}');
- Ubuntu 16.04.2 LTS x64
- PHP 7.0.21
二、服务器端软件安装
安装apache2
apt-get install apache2
安装php
apt-get install php7.0
apt-get install php7.0-dev
apt-get install libapache2-mod-php7.0
// Ubuntu 14.04, php5.6.32
apt-get install python-software-properties
add-apt-repository ppa:ondrej/php
apt-get update
apt-get install -y php5.6
apt-get install php5.6-dev
三、添加到系统公共库
执行以下命令,将库文件添加到系统公共库中。
cp libmyclass1.so /usr/local/lib/ #拷贝到系统公共库
cp libmyclass2.so /usr/local/lib/
ldconfig #载入库
四、安装php扩展
下载php源码,使用源码包中的ext_skel工具创建扩展。
下载php源码
下载php当前版本对应的源码版本。使用以下命令查看当前php版本
php -v
我的版本是7.0.21,到php官网下载对应的tar.gz文件
wget http://php.net/distributions/php-7.0.21.tar.gz
解压并进入到ext目录
tar -zxvf php-7.0.21.tar.gz
cd php-7.0.21/ext
创建mythcrypt扩展
./ext_skel --extname=myclass1
更新config.m4文件,去掉第16和18行的dnl
cd mythcrypt
vim config.m4
16: PHP_ARG_ENABLE(myclass1, whether to enable mythcrypt support,
17: dnl Make sure that the comment is aligned:
18: [ --enable-myclass1 Enable myclass1 support])
更新myclass1.c
vim myclass1.c
// 添加函数声明
const zend_function_entry myclass1_functions[] = {
PHP_FE(confirm_myclass1_compiled, NULL) /* For testing, remove later. */
PHP_FE(my_function, NULL)
PHP_FE(my_request, NULL)
PHP_FE_END /* Must be the last line in mythcrypt_functions[] */
};
// 在PHP_FUNCTION(confirm_myclass1_compiled)函数定义下面添加如下代码。不同的版本添加的语法不一样,以下分别是5.3.10、5.6.31、7.0.21版本的示例。
// 5.3.10
PHP_FUNCTION(my_function)
{
char *ret;
ret=my_function();
RETURN_STRING(ret,0);
}
PHP_FUNCTION(my_request)
{
char *dataid;
char *ret;
.....;
}
// 5.6.31
PHP_FUNCTION(my_function)
{
char dataout[1024]={0};
my_function(dataout);
RETURN_STRING(dataout, 1);
}
PHP_FUNCTION(my_request)
{
int datalen;
char *dataid;
char dataout[1024]={0};
.....;
}
// 7.0.21
PHP_FUNCTION(my_function)
{
char dataout[1024]={0};
my_function(dataout);
RETURN_STRING(dataout);
}
PHP_FUNCTION(my_request)
{
char *dataid;
char dataout[1024]={0};
.....;
}
5.6.31 和 7.0.21版本中,函数my_function和my_request的返回字符串长度最大值是1024。
使用phpize命令生成configure文件
phpize
./configure
make LDFLAGS=-lmyclass1 # 载入libmycalss1.so并make
make test # 测试
make install # 将库安装到php的扩展文件夹里面
更新php配置文件,添加mythcrypt库
vim /etc/php/7.0/apache2/php.ini
extension=myclass1.so
# 重启apache
/etc/init.d/apache2 restart
五、编写测试脚本
测试脚本如下:
<?php
echo my_function();
echo my_request(1, '{"user_id":"test","crypto_service_id":1,"signature":"testasdfawef","data_in":{"sn":"A1000012312234234","hwid":"12312123234234234"}}');
发表评论
-
shell脚本--sed的用法(转)
2019-12-06 10:50 270本文链接:https://blog.csdn.net/wdz3 ... -
linux下的find文件查找命令与grep文件内容查找命令
2019-08-09 15:27 327在使用linux时,经常需要进行文件查找。其中查找的命令主要 ... -
Javascript 面试核心考点(转)
2019-06-26 16:53 397Javascript 面试核心考点(转) 原文链接 ht ... -
Ubuntu下修改为永久DNS的方法
2019-05-20 11:14 484安装好Ubuntu之后设置了静态IP地址,再重启后就无法解析域 ... -
Java注解(Annotation)
2019-02-21 09:42 253一、认识注解 注解 ... -
Java Socket编程
2019-02-21 09:40 274Java最初是作为网络编程 ... -
MySQL中单句实现无限层次父子关系查询
2019-02-19 14:08 2268在 SQL Server 中,使用 CTE 表达式很容易做到无 ... -
Nginx中fastcgi_pass的配置问题
2018-12-26 16:19 939Nginx和PHP-FPM的进程间通信有两种方式,一种是TCP ... -
2t3ik与ddgs挖矿病毒处理
2018-06-01 14:43 896一、问题现象 朋友的阿里云LINUX服务器, 发现有2t3i ... -
PHP消息队列实现及应用
2018-06-01 13:53 476https://www.cnblogs.com/dump/p/ ... -
php rsa加密解密实例(转)
2018-06-01 11:23 368php服务端与客户端交互、提供开放api时,通常需要对敏感的部 ... -
远程管理项目部署(lamp)@Author:Tim Lu
2018-05-08 16:57 422远程管理项目部署(lamp)@Author:Tim Lu 切 ... -
PHP语言 fopen()函数不能打开文件的问题
2018-04-17 11:14 970架了一个Apache服务器,文件目录为/var/www/,今天 ... -
linux的nohup命令的用法。
2018-01-04 15:33 381在应用Unix/Linux时,我们一般想让某个程序在后台运行, ... -
ubuntu12.04 启动apache2 对.htaccess 的支持(转)
2017-07-11 18:07 372将PHP工程从 lampp 拷贝到 apache2中之后 ... -
golang fmt格式“占位符”
2017-06-01 10:24 464golang 的fmt 包实现了格式化I/O函数,类似于C的 ... -
golang笔记——struct
2017-05-27 08:40 6291、定义一个结构体 type User struct ... -
给MySQL增加mysql-udf-http和mysql-udf-json自定义函数,让MySQL有调用http接口和查询直接回JSON的能力
2017-04-21 14:04 16421、安装mysql-udf-httpyum install ... -
PHP通过Http Post请求发送Json对象数据
2017-03-26 21:47 729public static function httpP ... -
关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用(转)
2017-02-08 14:33 740工作环境:window下 在一切的最开始,安装node.j ...
相关推荐
在 https://pecl.php.net/package/mongo 下载 PHP的mongodb扩展的源码 复制代码 代码如下: $ wget -c https://pecl.php.net/get/mongo-1.6.9.tgz $ tar zxvf mongo-1.6.9.tgz $ cd mongo-1.6.9 $ phpize $ ./...
系统是ubuntu 12.04,已经安装好了apache和...Tips:如果没有这个命令,需要先安装svn,在ubuntu下直接使用apt-get安装就OK了: 复制代码 代码如下:$ sudo apt-get install subversion 关于php源码,如需要了解更多信息
一般在C:WINDOWS目录下。 找到 复制代码 代码如下: ;extension=php_msql.dll ;extension=php_mssql.dll extension=php_mysql.dll extension=php_mysqli.dll 需要开启哪个扩展,就把这一行前面的分号去掉就行,注意...
可以按照介绍的有关使用phpize构建PHP扩展的说明进行安装,即可安装stemmer PHP扩展。 要构建此扩展,您需要安装PHP开发工具。 对于ubuntu / debian,您可以使用apt-get install php5-dev。 phpize命令用于为PHP...
说明:扩展需要依赖ImageMagick和zbar,安装前先安装这两个软件 1.安装ImageMagick(http://www.imagemagick.org/) yum install ImageMagick.x86_64 ImageMagick-devel.x86_64 2.安装zbar...
正在安装以下这些说明用于在运行Ubuntu 64位服务器15.04的虚拟机上安装扩展。 sudo apt-get install ...
libsmbclient-php是一个PHP扩展,它使用Samba的libsmbclient库为PHP程序提供与Samba相关的功能。 入门 从PECL安装 pecl install smbclient 二进制软件包安装 一些发行版提供了二进制软件包: Fedora / RHEL / ...
安装PHP sudo apt-get install php5 sudo apt-get install libapache2-mod-php5 sudo /etc/init.d/apache2 restart 测试: sudo vi /var/www/testphp.php 写入php works!保存退出vi。 然后在浏览器中输入http://1
Owl是由语言提供支持的极其快速PHP框架,并作为C扩展提供。 这是一个开发分支,我们需要专注于文档,测试,修复和清理代码,因此我们需要您的帮助;) Linux: 视窗: 系统要求 要构建它,您需要满足以下要求: ...
PHPSci CArray扩展PHPSci CArray是用于PHP的高性能科学计算库,该库以C语言开发并且基于原始的NumPy代码。 CArrays提供了PHP数组的可靠替代方案,并且与使用NumPy开发的代码兼容。 高性能索引和数据访问与PHP阵列...
Zip PHP扩展( sudo apt-get install php-zip ) 作曲家(通过工作目录中的全局二进制文件或composer.phar ) 经过测试 Ubuntu 15.10 Ubuntu 16.04 Ubuntu 18.04 OSX 10.11(El Capitan) 可通过Ubuntu Bash或
要求PHP7.2或PHP7.3或PHP7.4或PHP8.0 Linux或Windows 10 OpenBLAS如何下载和设置预构建二进制文件您可以从每个发行版下载和使用针对Windows和Ubuntu的预构建二进制文件。 在“资产”链接中下载适用于您PHP版本的二...
PHP Firebird扩展 构建驱动程序 在Linux上构建驱动程序 首先,我们必须满足一些要求。 这意味着我们需要安装phpize命令。 phpize命令用于为PHP扩展准备构建环境。 安装phpize命令。 这通常是通过使用系统的软件包...
关于windows系统,笔者以前曾在windows下安装过apc,只是运行不稳定,不晓得现在解决了没有。在windows下可以用wincache替代apc,微软自己开发的,非常稳定。 Tips:安装完成后,要记的重启下web服务器。 2、下载apc...
php-memprof php-memprof是用于PHP的快速,准确的内存配置文件扩展程序,可用于查找内存泄漏... 在Debian或Ubuntu上,可以通过以下方式安装依赖项: # install libjudy dependency: apt install libjudy-dev 使用PECL
然后,您可以使用phpize针对当前PHP安装来安装扩展 phpize ./configure make && make test && make install 如果要为PHP使用非标准位置 /path/to/phpize ./configure --with-php-config=/path/to/php-c
该扩展可以安装在Linux和Windows上。 Linux 在开始安装之前,请确保已在系统上安装libfann 。 它是大多数Linux发行版(搜索fann )中主存储库的一部分。 如果不是,则需要先安装它。 您可以从下载它,也可以从发行...
压缩包里面.vim 对应$VIMRUNTIME/vimfiles,$VIMRUNTIME,就是vim的安装目录啦,默认安装在c:\program files/Vim 4。改.vimrc 为_vimrc 有任何指教,意见,批评等请发伊妹儿 michael.yang2000#gmail.com.
安装预建扩展从获取最新的扩展并将其放在以下目录中:######Ubuntu /usr/lib/php5/20.../zephlack.so ######CentOS /usr/lib64/php/modules/zephlack.so 将扩展添加到您的 php 配置中: extension=zephlack.so#####...