本文目录一览:
- 1、安装php扩展模块apc,但是安装了apc的扩展,报错,不知道如何解决,哪位大神帮帮忙??
- 2、php apc 配置
- 3、php apc 作用
- 4、PHP的扩展模块怎么添加?
- 5、PHP软件开发程序拓展的五大方法?
安装php扩展模块apc,但是安装了apc的扩展,报错,不知道如何解决,哪位大神帮帮忙??
您好,如果是这样的话:
( ! ) Notice: Unknown: 1. h-opened_path=[null] h-filename=[E:/wamp/www/THINKPHP_APC/index.php] in Unknown on line 0
( ! ) Notice: Unknown: apc_cache_find [585233] in Unknown on line 0
( ! ) Notice: Unknown: 2. h-opened_path=[E:\wamp\www\THINKPHP_APC\index.php] h-filename=[E:/wamp/www/THINKPHP_APC/index.php] in Unknown on line 0
( ! ) Notice: Unknown: apc_cache_make_file_entry: entry-data.file.filename is [E:\wamp\www\THINKPHP_APC\index.php] in Unknown on line 0
( ! ) Notice: Unknown: Inserting [E:\wamp\www\THINKPHP_APC\index.php] in Unknown on line 0
( ! ) Notice: require(): 1. h-opened_path=[null] h-filename=[./ThinkPHP/ThinkPHP.php] in E:\wamp\www\THINKPHP_APC\index.php on line 24
Call Stack
# Time Memory Function Location
1 0.0020 144624 {main}( ) ..\index.php:0
apc 与opcache冲突, 不知道你的环境有没有opcache。
php apc 配置
谁说要php6,就用PHP5配置出来不过有些参数获取不到,比如传输速度等信息,我做的是自己算!
php apc 作用
PHP APC提供两种缓存功能,即缓存Opcode(目标文件),我们称之为apc_compiler_cache。同时它还提供一些接口用于PHP开发人员将用户数据驻留在内存中,我们称之为apc_user_cache。
总结
1,使用Spinlocks锁机制,能够达到最佳性能。
2,APC提供了apc.php,用于监控与管理APC缓存。不要忘记修改管理员名和密码
3,APC默认通过mmap匿名映射创建共享内存,缓存对象都存放在这块”大型”的内存空间。由APC自行管理该共享内存
4,我们需要通过统计调整apc.shm_size、apc.num_files_hints、apc.user_entries_hint的值。直到最佳
5,好吧,我承认apc.stat = 0 可以获得更佳的性能。要我做什么都可以接受.
6,PHP预定义常量,可以使用apc_define_constants()函数。不过据APC开发者介绍说pecl hidef性能更佳,抛异define吧,它是低效的。
7,函数apc_store(),对于系统设置等PHP变量,生命周期是整个应用(从httpd守护进程直到httpd守护进程关闭),使用APC比Memcached会更好。必竟不要经过网络传输协议tcp。
8,APC不适于通过函数apc_store()缓存频繁变更的用户数据,会出现一些奇异现象。
PHP的扩展模块怎么添加?
php安装好后,可能在初次安装时,会有些模块会有遗漏,但是我们又不想重新编译php,因为耗时是比较长的。我们可不可以在不重新编译安装php的情况下,来为php单独添加某一个模块呢?查找资料,发现还是有方法的,重点就是phpize了,于是写了这篇文章.
下面我们就以单独为php加载mysqli模块为例,演示如何动态为php添加模块。
1、找到php原码安装文件
2、cd /home/php/ext/myslqi
3、运行 /usr/local/php/bin/phpize
4、/configure –with-php-config=/usr/local/php/bin/php-config
5、make make install
6、安装完成之后会在系统/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/这个目录下面生成mysqli.so的库文件
7、编辑php.ini文件,指定php到哪人目录读取模块
vi /usr/local/php/etc/php.ini
extension_dir=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613″
extension=mysqli.so
8、重启php服务 /usr/local/php/sbin/php-fpm restart
7、/usr/local/php/bin/php -m|grep mysqli 查看mysqli.so是否存在
如果步骤正确,你的人口也不差的情况下,应该这样php的动态模块加载就完成了。
PHP软件开发程序拓展的五大方法?
相信大多数程序员都有过对程序进行拓展的一些操作了,但是对于新手工程师来说这还是比较难的一个技术。今天,云南java培训就通过案例分析来了解和学习一下,PHP编程拓展的方法都有哪些。
1.使用PHP的APC特性。APC——AlternativePHPCache,虽然官方称为“可选PHP缓存”,但是称为“另一个PHP缓存也不为过”,因为它可以切实的提升网站的性能。
2.把所有不是.php的请求都分配给CDN(内容分发网络),不要使用你的服务器处理静态文件。他们使用S3来存储所有,并使用CloudFront作为他们的CDN。近CloudFront出现的一些问题迫使他们不得不直接使用S3服务。
3.切勿将PHP代码里的链接指向其它的服务器。比如数据库以及memcache服务器,除非是强制性的或者是没有其它方法实现你的目的。在执行流中让链接指向其它服务器是非常没有效率的:可能会使服务器受到限制,从而降低处理的速度。使用APC键/值存储来储存数据,并使用Barnish来缓存整个页面。
4.使用Varnish。一般情况下,站点上的所有网页都不会改变或者是不会做大型的改动。Varnish就对于网络服务器缓存有着Memcache/ModRewrite的作用。同样在压力测试中,使用前后的性能差异很大。
5.使用更大的服务器实例,比如c1.xlarge有8个核心可以应对负载,而m1.medium只有一个核心可以处理请求。
可以使用GoogleAnalytics来分析每个用户在每个页面上花费的时间。收集这些信息,使用Siege来运行压力测试,从而不断的熟悉自己业务的负载类型,以便更好的提升程序的扩展性。