1.每一个运营以下命令

 昨天在Linux底下上传Excel文件并展现输出时,抛出“ZipArchive library is
not enabled” 的不胜。而笔者在地头的windows下的代码则是运作平常的。

环境:PHP 5.2.14 CentOS 5.5

复制代码 代码如下:

    
原因是:在Linux下没有php_zip.dll那一个文件(有也不会起成效的),所以要求重新编写翻译一下php的zip模块。
      在Unix/Linux下的化解办法 :

率先步:营造扩充骨架

wget
#tar zxvf zip-1.8.3.tgz
#cd zip-1.8.3
#/opt/php/bin/phpize   (对应的phpize路径)
#./configure –with-php-config=/opt/php/bin/php-config
(对应的php-config路径)
#make
#make install

      1、依次运营如下命令:

cd php-5.2.14/ext
./ext_skel –extname=laiwenhui

2.生成的模块路线

      cd /opt/lampp/
      wget   
(私下认可会在线下载最新版本的,小编那边用的是zip-1.10.2.tgz)
      tar -zxvf zip-1.10.2.tgz   (所下载的包名)
      cd zip-1.10.2
      /opt/lampp/bin/phpize    (对应的phpize路线 find / -name phpize
出来结果/opt/lampp/bin/phpize)
      ./configure –with-php-config=/opt/lampp/bin/php-config
(对应的php-config路径)
      make
      make instal

第二步:修改编写翻译参数

复制代码 代码如下:

  

cd php-5.2.14/ext/laiwenhui
vi config.m4

/opt/php/lib/php/extensions/no-debug-non-zts-20050922/zip.so

     2、查看生成的模块路线(安装完之后,荧屏上会提醒zip.so的岗位):
cd /usr/lib/php/modules/ (对应的extensions路径 /usr/lib/php/modules/)

去掉

3.修改php.ini

Installing shared extensions:    
/opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/

PHP_ARG_ENABLE(laiwenhui, whether to enable laiwenhui support,

复制代码 代码如下:

     3、修改php.ini如下图:

[ –enable-laiwenhui Enable laiwenhui support])

extension_dir = “./”
;修改为
extension_dir =
“/opt/php/lib/php/extensions/no-debug-non-zts-20050922/”
;增加
extension=”zip.so”

yzc579亚洲城官网 1
     

两行前边的dnl

4.重启apache或php-cgi

 增加
extension=/opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/zip.so

修改后为:

 

      然后一致在php.ini文件中,将zlib.output_compression = Off 改为
zlib.output_compression = On ;

复制代码 代码如下:

你只怕感兴趣的稿子:

  • Linux下修改jar、zip等公事内的文书详解
  • linux zip/unzip命令详解
  • 减轻linux下zip文件解压乱码难点

      4、末了再重启一下XAMPP服务:
      /opt/lampp/lampp  stop
      /opt/lampp/lampp  start

dnl Otherwise use enable:
PHP_ARG_ENABLE(laiwenhui, whether to enable laiwenhui support,
dnl Make sure that the comment is aligned:
[ –enable-laiwenhui Enable laiwenhui support])

      那几个针对php的zip模块就设置到位了,能够在php中运用ZipArchive类了。

**第三步:编写代码

      附:在Windows下的化解办法就比较轻巧了 :

**vim php_laiwenhui.h

     1、在php.ini文件中,将extension=php_zip.dll前面包车型大巴分店“;”去除
      然后同样在php.ini文件中,将 zlib.output_compression = Off 改为
zlib.output_compression = On ;

在 PHP_FUNCTION(confirm_laiwenhui_compiled);
前边新扩大一行:PHP_FUNCTION(test);

     2、重启Apache服务器。

增多后为:

 

PHP_FUNCTION(confirm_laiwenhui_compiled); /* For testing, remove
later. */
PHP_FUNCTION(test);

注意事项:

然后

若重启 xampp 时提示:

vim laiwenhui.c

Warning: PHP Startup: Unable to
load dynamic library
‘/opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/memcache.so’ –
/opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/memcache.so:
wrong ELF class: ELFCLASS64 in Unknown on line 0

在PHP_FE(confirm_laiwenhui_compiled, NULL) 前边增加 PHP_FE(test,
NULL)

证实你的操作系统是 64 位的,而
xampp 只对 三16个人的系统提供援救。请下载如下压缩包沟通对应的文件就能够。

增多后为:

复制代码 代码如下:

library is not enabled
的要命。而本身在地方的windows下的代码则是运作符合规律的。 原因是:…

zend_function_entry laiwenhui_functions[] = {
PHP_FE(confirm_laiwenhui_compiled, NULL) /* For testing, remove
later. */
PHP_FE(test, NULL) /* For testing, remove later. */
{NULL, NULL, NULL} /* Must be the last line in laiwenhui_functions[]
*/
};

在文件最终边扩大如下代码:

复制代码 代码如下:

PHP_FUNCTION(test)
{
char *arg = “This my first extention!”;
int len;
char *strg;
len = spprintf(&strg, 0, “%s\n”, arg);
RETURN_STRINGL(strg, len, 0);
}

第四步:编写翻译代码

复制代码 代码如下:

cd php-5.2.6/ext/laiwenhui
/opt/module/php/bin/phpize
./configure –with-php-config=/opt/module/php/bin/php-config
make
make install

本人的PHP安装路径为:/opt/module/php
本条时候会生成一个文件
/opt/module/php/lib/php/extensions/no-debug-non-zts-二零零五0613/laiwenhui.so

编辑PHP配置文件php.ini,增添扩大:

vim php.ini

在[PHP]模块下扩大:extension = laiwenhui.so

;extension=php_zip.dll
extension = laiwenhui.so

把php.ini 文件中的 extension_dir 修改为该目录:
extension_dir =
“/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/”

; Directory in which the loadable extensions (modules) reside.
extension_dir =
“/opt/module/php/lib/php/extensions/no-debug-non-zts-20060613/”

第五步:检查装置结果

  1. 重启apache或者php-fpm
  2. /opt/module/php/bin/php -m 看下是还是不是有隐含laiwenhui扩充。
    第六步:实施测验代码

在网址根目录创立test.php

vim test.php

代码内容如下

yzc579亚洲城官网,<?php
echo test();
?>

实践后结果为:This my first extention!

倘若您能顺利达成以上几步,恭喜您完了了第八个扩展。

上述是扩大PHP的总结步骤,越来越多请参见:

你可能感兴趣的小说:

  • PHP内核介绍及增添开拓指南—基础知识
  • PHP扩张开拓入门教程
  • PHP增添开荒教程(计算)

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注