精华内容
参与话题
问答
  • php5-memcached比php5-memcache速度略快一点
    

    php5-memcached比php5-memcache速度略快一点


    php5-memcached和php5-memcache是两个php操作memcached的组件,他们是不同人开发的。

    php官网都列出了他们各自的使用方法:

    http://www.php.net/manual/en/book.memcache.php (安装使用:sudo apt-get install php5-memcache)http://www.php.net/manual/en/book.memcached.php (安装使用:sudo apt-get install php5-memcached)

    1. 首先,先安装下apache:

    sudo apt-get update
    sudo apt-get install apache2

    2. 然后安装下php5:

    sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

    3. 接着安装memcached:

    sudo apt-get install memcached

    4. 接着安装php5-memcached和php5-memcache:

    sudo apt-get install php5-memcache

    sudo apt-get install php5-memcached

    5. 最后重启下apache2:

    sudo service apache2 restart

    6.编辑test.php内容如下:

    <?php
    // Initialize values: 10000 keys of 20 bytes with 40 bytes of data
    $c = 10000;
    $values = array();
    for ($i=0;$i<$c;$i++) $values[sprintf('%020s',$i)]=sha1($i);
    echo "memcache vs memcached: $c keys\n";
    
    // Memcached
    $m = new Memcached();
    $m->addServer('localhost', 11211);
    $start = microtime(true);
    foreach ($values as $k => $v) $m->set($k, $v, 3600);
    $time = microtime(true)-$start;
    echo "memcached set: $time\n";
    $start = microtime(true);
    foreach ($values as $k => $v) $m->get($k);
    $time = microtime(true)-$start;
    echo "memcached get: $time\n";
    
    // Memcache
    $m = new Memcache();
    $m->addServer('localhost', 11211);
    $start = microtime(true);
    foreach ($values as $k => $v) $m->set($k, $v, 0, 3600);
    $time = microtime(true)-$start;
    echo "memcache set: $time\n";
    $start = microtime(true);
    foreach ($values as $k => $v) $m->get($k);
    $time = microtime(true)-$start;
    echo "memcache get: $time\n";
    ?>

    7. 运行http://machinename/test.php 或者 php /var/www/html/test.php

    root@machinename  # php /var/www/html/test.php
    memcache vs memcached: 10000 keys
    memcached set: 0.7015380859375
    memcached get: 0.61220598220825
    memcache set: 0.78830289840698
    memcache get: 0.74954390525818

    ~
    root@machinename  # php /var/www/html/test2.php
    memcache vs memcached: 10000 keys
    memcache set: 0.78771591186523
    memcache get: 0.75219798088074
    memcached set: 0.69968199729919
    memcached get: 0.60679888725281

    参考文档:

    1.https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu

    2. https://www.digitalocean.com/community/tutorials/how-to-install-and-use-memcache-on-ubuntu-14-04

    3. https://www.leaseweb.com/labs/2013/03/memcache-vs-memcached-php-benchmark/

    展开全文
  • PHP开发 MAC 自带apache从php7切换到php5

    千次阅读 2018-08-15 11:46:16
    MacOs 升级到10.13之后自带的PHP也会更新到PHP7,但是自己使用的时PHP5开发的,所以需要切换到PHP5 1.安装php5 curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6 2.php5会安装到下面目录中 /usr/...

    MacOs 升级到10.13之后自带的PHP也会更新到PHP7,但是自己使用的时PHP5开发的,所以需要切换到PHP5

    1.安装php5

    curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6
    
    2.php5会安装到下面目录中
    /usr/local/php5/


    3.用 /usr/local/php5/entropy-php.conf 中的LoadModule配置替换 httpd.conf中的配置

    #LoadModule php7_module libexec/apache2/libphp7.so //系统默认配置
    LoadModule php5_module /usr/local/php5/libphp5.so  //php5配置

    4.重新启动apache

    sudo apachectl restart

     

    展开全文
  • 在Ubuntu 将PHP5升级到PHP7.0 PHP7.1

    千次阅读 2018-01-19 17:02:44
    本文主要讲解从PHP5.X升级到PHP7的方法。 一、安装在Ubuntu14.04或14.10中安装PHP7 先添加一个更新源 apt-get install python-software-properties sudo add-apt-repository ppa:ondrej/php 更新 apt-get ...

    本文主要讲解从PHP5.X升级到PHP7的方法。

    一、安装在Ubuntu14.04或14.10中安装PHP7

    先添加一个更新源

    apt-get install python-software-properties

    sudo add-apt-repository ppa:ondrej/php

    更新

    apt-get update

    二、为Apache 服务器更新PHP7.0

    Apache执行PHP代码使用的是mod_php模块,安装最新的PHP版本:

    sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0 -mcrypt

    如果你使用的是MySQL数据库,那么你需要执行以下语句同事更新PHP-MySQL的相关绑定。当然你也可以其他有用的模块,比如Curl, GD, Cli, JSON等。

    sudo apt-get install php7.0-mysql php7.0-cli php7.0-gd php7.0-json

    如果你想安装附加的PHP7.0的一些模块,你可以使用apt-cache命令进行模糊查询。

    sudo apt-cache search php7

    安装好以后可以重启Apache服务器然后验证php版本

    $ sudo service apache2 restart

    $ php -v

    你也可以放在web目录下进行验证

    sudo vi /var/www/html/info.php

    phpinfo();

    ?>

    如果在web页面上显示的还是5.X那么需要在apache2配置里面禁用php5的模块,然后重新安装下php7.0 (不出意外会自动加载),接着重启Apache2即可

    sudoadd-apt-repository ppa:ondrej/php

    sudoapt-get updateapt-cache search php7.1

    apt-get install php7.1

    a2dismod php5

    如果之前有其他版本,在这边禁用掉

    a2enmod php7.1

    apt-get install php7.1-mysql

    apt-get install php7.1-curl

    apt-get install php7.1-mbstring

    apt-get install php7.1-gd

    apt-get install php7.1-xml

    apt-get install php7.1-soap

    apt-get install php7.1-mcrypt

    展开全文
  • 安装多个 PHP 版本(PHP7, PHP5

    千次阅读 2018-05-08 11:19:06
    安装 PHP 5.6PHP 5PHP 7 的安装其实是大同小异。目前最新版本是 php-5.6.21。先下载源码:[root@lnmp ~]# cd /usr/local/src[root@lnmp src]# wget -c http://cn2.php.net/distributions/php-5.6.21.tar.gz解压...

    安装 PHP 5.6

    PHP 5 和 PHP 7 的安装其实是大同小异。目前最新版本是 php-5.6.21。先下载源码:

    [root@lnmp ~]# cd /usr/local/src
    [root@lnmp src]# wget -c http://cn2.php.net/distributions/php-5.6.21.tar.gz

    解压:

    [root@lnmp src]# tar -zxvf php-5.6.21.tar.gz

    configure. 其中安装路径为 /usr/local/php5

    [root@lnmp src]# cd php-5.6.21/
    [root@lnmp php-5.6.21]# ./configure  --prefix=/usr/local/php5 --enable-fpm --with-mysql  --with-mysqli --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-xml --enable-session --enable-ftp --enable-pdo

    安装:

    [root@lnmp php-5.6.21]# make
    [root@lnmp php-5.6.21]# make install

    配置 PHP 5.6

    [root@lnmp php-5.6.21]# cp php.ini-development /usr/local/php5/lib/php.ini
    [root@lnmp php-5.6.21]# vim /usr/local/php5/lib/php.ini

    查找 mysql.default_socket 改成

    mysql.default_socket = /var/lib/mysql/mysql.sock

    查找 mysqli.default_socket 改成:

    mysqli.default_socket = /var/lib/mysql/mysql.sock

    根据自己需要修改时区,查找 date.timezone,将前面的 ; 去掉,改成:

    date.timezone = PRC

    好了,PHP 5.6 已经安装完成:

    root@lnmp php-5.6.21]# /usr/local/php5/bin/php -v
    PHP 5.6.21 (cli) (built: May 18 2016 17:31:13)
    Copyright (c) 1997-2016 The PHP Group
    Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

    配置 php-fpm

    [root@lnmp php-5.6.21]# cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf
    [root@lnmp php-5.6.21]# vim /usr/local/php5/etc/php-fpm.conf

    查找 user 将

    user = nobody
    group = nobody

    改成

    user = nginx
    group = nginx

    查找 listen 将

    listen = 127.0.0.1:9000

    改成

    listen = 127.0.0.1:9001

    这里是因为 PHP 7 已经占用了 9000 端口,所以用 9001 端口

    配置 php-fpm 服务

    因为 PHP 7 的服务文件为 php-fpm.service 所以这里用 php5-fpm.service

    [root@lnmp php-5.6.21]# cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/php5-fpm.service
    [root@lnmp php-5.6.21]# vim /usr/lib/systemd/system/php5-fpm.service

    将:

    PIDFile=${prefix}/var/run/php-fpm.pid
    ExecStart=${exec_prefix}/sbin/php-fpm --nodaemonize --fpm-config ${prefix}/etc/php-fpm.conf

    改成

    PIDFile=/usr/local/php5/var/run/php-fpm.pid
    ExecStart=/usr/local/php5/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php5/etc/php-fpm.conf

    这里做的就是用刚才 PHP 5 安装路径替代 prefix 变量

    重新载入 systemd

    [root@lnmp php-5.6.21]# systemctl daemon-reload

    可以设置开机启动:

    [root@lnmp php-5.6.21]# systemctl enable php5-fpm

    立即启动 php-fpm

    [root@lnmp php-5.6.21]# systemctl start php5-fpm

    查看状态:

    [root@lnmp php-5.6.21]# systemctl status php5-fpm
    php5-fpm.service - The PHP FastCGI Process Manager
       Loaded: loaded (/usr/lib/systemd/system/php5-fpm.service; disabled)
       Active: active (running) since Wed 2016-05-18 18:06:40 CST; 28s ago
     Main PID: 5867 (php-fpm)
       CGroup: /system.slice/php5-fpm.service
               ├─5867 php-fpm: master process (/usr/local/php5/etc/php-fpm.conf)
               ├─5868 php-fpm: pool www
               └─5869 php-fpm: pool www
    May 18 18:06:40 lnmp.cn systemd[1]: Started The PHP FastCGI Process Manager.
    [root@lnmp php-5.6.21]#

    配置不同的 nginx 站点使用不用的 PHP 版本

    为网站创建一个目录:

    [root@lnmp php-5.6.21]# mkdir -p /www/dev.lnmp.cn

    创建 phpinfo 文件

    [root@lnmp php-5.6.21]# vim /www/dev.lnmp.cn/phpinfo.php

    输入,并保存:

    <?php
    phpinfo();

    创建 nginx 站点配置文件

    [root@lnmp php-5.6.21]# cd /etc/nginx/conf.d/
    [root@lnmp conf.d]# vim dev.lnmp.cn.conf

    输入,并且保存:

    server {
        listen       80;
        server_name  dev.lnmp.cn;
        root         /www/dev.lnmp.cn;
        location / {
            index  index.php index.html index.htm;
        }
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9001;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }

    控制那个站点使用那个版本的 PHP 关键是在 fastcgi_pass 的端口:

    fastcgi_pass   127.0.0.1:9001;

    9001 是 PHP 5 端口,如果要用 PHP 7,则用 9000端口。

    应该大功告成了,立即 reload nginx

    [root@lnmp conf.d]# systemctl reload nginx

    查看 phpinfo

    PHP 5.6 info
    PHP 7 info
    展开全文
  • PHP5与PHP7兼用性问题

    千次阅读 2018-08-27 10:49:01
    字符串赋值问题 在修改已有的游戏后台代码中,发现有许多功能无法正常显示出来,都是乱码的格式。之后追查问题的时候,发现之前的代码是$a=''这样子来赋值的。但是之后的操作又是数组赋值操作,...PHP5: PHP7...
  • php5 php7 变量区别

    千次阅读 2016-01-05 16:13:40
    php5 中变量 zval 都是通过make_std_zval宏从堆上分配 #define MAKE_STD_ZVAL(zv)  ALLOC_ZVAL(zv) INIT_PZVAL(zv) zv是一个zval指针
  • 笔者在Ubuntu16.04桌面系统安装php5时,提示Package php5 have no installation candidate, 在http://stackoverflow.com/questions/36788873/package-php5-have-no-installation-candidate-ubuntu-16-04上面找到了...
  • xampp php5和php7最简单的切换方法

    千次阅读 2019-08-29 22:14:41
    全网最简单的xampp php5和...将不用的xampp版本目录的apache/conf/extra/httpd-xampp.conf文件改名,复制到主apache的apache/conf/extra/目录中,这里我不用xampp5,所以这里我把php5的httpd-xampp.conf文件改名为...
  • 网上的教程,的确先安装Apache,在安装php,不过php还是下绿色版的好,在修改httpd.conf文件时,大多数人都 是:LoadModule php5_module c:\Program Files\php\php5apache2.dll,都是apache restart出错。...
  • linux Centos7.4安装php7或php5

    千次阅读 2018-08-22 16:05:10
    php5的安装 1. rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm 2. rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 3. yum install php56w.x86_64 php56w-cli.x86_6...
  • 在apache下将php5转成php7

    千次阅读 2018-01-29 22:48:43
    打开 AppServ/php5/extras/swver.php文件,我们发现 <?php error_reporting(0); $conf="H:/AppServ/Apache24/conf/httpd.conf"; $php5ini="H:/AppServ/php5/"; $php7ini="H:/AppServ/php7/"; ... 1234567 下面的...
  • ubuntu 16.04安装php5

    千次阅读 2017-04-26 15:38:23
    $ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:ondrej/...$ sudo apt-get update $ sudo apt-get install -y php5参考: https://askubuntu.com/questions/756181/installing-php
  • PHP5升级PHP7-永久环境变量设置

    千次阅读 2017-07-18 14:21:42
    原环境是PHP5,后来想装PHP7,于是各种百度装好了PHP7(其中各种库不兼容,好一顿折腾),过程百度吧。 最后安装成功,环境变量也设置成功,第二天开机 php -v一看,还是php5的版本,于是百度了下,环境变量设置的...
  • php7和PHP5对比的新特性和性能优化

    万次阅读 2018-05-22 16:37:40
    1)在 PHP5中,从 php 脚本到 opcodes 的执行的过程是: Lexing:词法扫描分析,将源文件转换成 token 流; Parsing:语法分析,在此阶段生成 op arrays。 2)PHP7 中在语法分析阶段不再直接生成 op arrays,...
  • php7和php5区别

    万次阅读 2018-04-03 11:30:25
    1、php标量类型和返回类型声明 #主要分为两种模式,强制性模式和严格模式 declare(strict_types=1) #1表示严格类型校验模式,作用于函数调用和返回语句;0表示弱类型校验模式。 2、NULL合并运算符 $site = is...
  • ThinkPHP3.2.3从php5升级到php7艰辛之路

    千次阅读 2019-02-26 17:17:57
     windows下,之前用的项目是部署在Apache2.4.17+php5.x版本, 因为客户那边网络安全扫描,发现很多漏洞,其中有apache、php的高危漏洞,多达上百次, 急需修复,如不修复将面临站点关闭的风险。  于是联系软件...
  • a. 安装 phpstorm  b. 配置phpstorm,集成mac php5服务器 c.终端执行:curl -s ...d.新安装的php目录是/usr/local/php5/bin ...e.随便运行一个php文件,提示没有配置服务器,配置目录选:/usr/local/php5/b
  • mac下搭建php开发环境 phpstorm+php5

    千次阅读 2015-07-22 18:16:49
    2. 配置phpstorm,集成mac php5服务器 a.终端执行:curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5 b.新安装的php目录是/usr/local/php5/bin c.随便运行一个php文件,提示没有配置服务器,配置目录选...
  • PHP5升级到PHP7注意点(windows环境)

    千次阅读 2016-05-14 16:37:50
    windows环境下将php5升级到php7

空空如也

1 2 3 4 5 ... 20
收藏数 152,880
精华内容 61,152
关键字:

php5