1. 下载php-5.3.28

2. 编译/安装

  ./configure --prefix=/usr/local/php --enable-fpm --enable-maintainer-zts --with-curl

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>结果数据</title>
  6. </head>
  7. <body>
  8.  
  9. <?php
  10. $path = $_POST['path'];
  11. $langs = $_POST['langs'];
  12. $key = $_POST['lang-key'];
  13.  
  14. /**
  15. * load lang files
  16. */
  17. class lang_thread_run extends Thread
  18. {
  19. public $lang;
  20. public $path;
  21. public $key;
  22. public $data;
  23.  
  24. public function __construct($lang, $path, $key)
  25. {
  26. $this->lang = $lang;
  27. $this->path = $path;
  28. $this->key = $key;
  29. }
  30.  
  31. public function run()
  32. {
  33. if(($path = $this->path))
  34. {
  35. require_once($path);
  36. $this->data = constant($this->key);
  37. }
  38. }
  39. }
  40.  
  41. function zen_href_link($value='')
  42. {
  43. return "";
  44. }
  45.  
  46. if (!ini_get('display_errors')) {
  47. ini_set('display_errors', '1');
  48. }
  49. if (!empty($langs) && !empty($key)) {
  50. if (empty($path)) {
  51. $file_path = '$.php';
  52. } else {
  53. $file_path = '$/'.$path;
  54. }
  55.  
  56. $langs = explode(',', $langs);
  57. $res = array();
  58. $thread_array = array();
  59.  
  60. // get lang by key
  61. foreach ($langs as $value) {
  62. $thread_array[$value] = new lang_thread_run($value, str_replace('$', $value, $file_path), $key);
  63. $thread_array[$value]->start();
  64. }
  65.  
  66. foreach ($thread_array as $thread_array_key => $thread_array_value)
  67. {
  68. while($thread_array[$thread_array_key]->isRunning())
  69. {
  70. usleep(10);
  71. }
  72. if($thread_array[$thread_array_key]->join())
  73. {
  74. $data_res[$thread_array_key] = $thread_array[$thread_array_key]->data;
  75. }
  76. }
  77.  
  78. foreach ($langs as $value) {
  79. $res[$value] = $data_res[$value];
  80. }
  81.  
  82. echo implode(',', $res);
  83. }
  84.  
  85. ?>
  86. </body>
  87. </html>

  

编译php-5.3.28的更多相关文章

  1. 记 Mac Pro 系统升级后,编译安装 PHP-5.6.28 / PHP-7.0 报错修复过程

    买 Mac Pro 的时候,系统为 OS X 10.11.5,编译 PHP-5.6.21 的时候,也遇到一些坑,安装过程记录如下: Mac Pro 编译安装 PHP 5.6.21 及 问题汇总 后来, ...

  2. linux上源码编译安装mysql-5.6.28

    在 linux 上编译安装 mysql-.tar.gz http://www.mysql.com/ mysql下载地址: http://www.mysql.com/downloads/mysql/#d ...

  3. LNAMP服务器环境搭建(手动编译安装)

    LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...

  4. 基于cmake编译安装MySQL-5.5

    cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以 ...

  5. web服务器学习1---httpd-2.4.29源码手动编译安装

    环境准备: 系统:CentOS 7.4 软件:httpd-2.4.29 一  Apache主要特点 apache服务器在功能,性能和安全性等方面表现比较突出,可以较好地满足web服务器地应用需求.主要 ...

  6. 编译安装和二进制安装mysql

    二进制安装mysql-5.6.46 mysql二进制安装,已经编译成二进制了,只需要做一些配置即可 [root@localhost ~]$ yum install autoconf libaio -y ...

  7. Android提升Gradle编译速度或减少Gradle编译时间.md

    目录 Android如何提升Gradle编译速度或减少Gradle编译时间 最终优化方案 优化效果比对 将所有项目源码,各种缓存临时目录都移动到高性能SSD磁盘上 gradle.properties ...

  8. 如何 实现PHP多版本的 共存 和 切换?

    编译PHP时指定路径 ./configure --prefix=/opt/php/php-5.6 make && make install 这样可以PHP版本就可以安装到一个特别的路径 ...

  9. Mac Pro 软件安装/个性化配置 汇总

    苹果产品维修 一.Spotlight 搜索程序和文档 Spotlight是最最常用的东西, 类似Windows开始菜单中的搜索.  可以用来搜索文档,也可以搜索本机的程序, 这样可以快速启动. 点击右 ...

  10. 【原】基于64位Centos6.2的mcrouter使用简介

    此文转载必须注明原文地址,请尊重作者的劳动成果!  http://www.cnblogs.com/lyongerr/p/5040071.html 目录 文档控制... 2 1 mcrouter简介.. ...

随机推荐

  1. Educational Codeforces Round 63 (Rated for Div. 2) D. Beautiful Array 分类讨论连续递推dp

    题意:给出一个 数列 和一个x 可以对数列一个连续的部分 每个数乘以x  问该序列可以达到的最大连续序列和是多少 思路: 不是所有区间题目都是线段树!!!!!! 这题其实是一个很简单的dp 使用的是分 ...

  2. 简单 php 代码跟踪调试实现

    简单 php 代码跟踪调试实现 debug_backtrace:生成回溯 debug_print_backtrace:打印回溯 1. debug_backtrace ($options = DEBUG ...

  3. 【BZOJ4007】[JLOI2015]战争调度(动态规划)

    [BZOJ4007][JLOI2015]战争调度(动态规划) 题面 BZOJ 洛谷 题解 神仙题,我是做不来. 一个想法是设\(f[i][j]\)表示当前考虑到\(i\)节点,其子树内有\(j\)个人 ...

  4. EnableEurekaServer基本配置

    pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  5. VS2010查看源码对应的汇编语言

    在学习c++中const关键字的过程中,经常会看到各种寄存器.汇编指令分析,像下面的图这样 左图是g++中反汇编的效果,右图是vs中反汇编的效果. 如果我们想要查看源码所对应的汇编语言,应该怎么操作呢 ...

  6. eclipse安装cucumber插件

    help-install new software-add name= c location= http://cucumber.github.com/cucumber-eclipse/update-s ...

  7. 001 Nibiru SDK 调试工具介绍

    为方便调试 Unity 项目,Nibiru 提供调试工具用于模拟手柄键值或直连主机手 柄 要求:Unity 开发环境和调试工具运行在同一台电脑上 Nibiru SDK 调试工具主要用于开发过程中对操控 ...

  8. 使用Docker安装Nginx

    启动命令 docker run -d -p : --name nginx -v $PWD/nginx.conf:/etc/nginx/nginx.conf -v $PWD/conf.d/:/etc/n ...

  9. [C++]类成员返回语句 return *this 的理解

    经常会在类似 copy-assignment 的成员函数看到返回语句 return *this ,这类函数通常返回类型是所属类的引用. 类成员函数的隐式指针 class *this const 经过 ...

  10. c语言编译四大步

    -o: 指定生成后的文件名,后面跟指定的名称 四步:-E 预处理 > -S 编译 > -c 汇编 > 链接 -E: 表示预处理,生成文件为.i,会做宏(define)定义的展开.头文 ...