php
Mac OS
2018-04-16 02:26:04
1404
mac手动编译安装后发现bin目录下只有两个文件,且没有`php`、`phpize`相关文件。
后百度之,了解到需加一个options`--enable-cli`
加完之后,重新编译,发现bin目录多了好几个可执行文件,可无奈还是没发现`php`。后无意间发现bin目录有个`php.dSYM`,发现这个跟`php`功能一模一样,也不知道是个什么鬼,直接加个软链接吧`ln -s /data/amp/php/5.3.29/bin/php.dSYM php`
至此,问题解决
Mac OS
2018-04-15 00:21:48
1255
因为我本地有多个版本的php,安装扩展`make`时,我没有指定`--with-php-config`,所以报了这个错,So,完整的编译过程:
```sh
cd ext/iconv
/data/amp/php/5.6.40/bin/phpize
./configure --with-iconv=/usr/local/Cellar/libiconv/1.16/ --with-php-config=/data/amp/php/5.6.40/bin/php-config
make
make install
```
Mac OS
2018-04-14 00:11:11
1542
编译安装php,`./configure`之后继续`make`时,因为有options`--with-openssl`,报错:`ld: symbol(s) not found for architecture x86_64`
此时打开目录下的`Makefile`文件,大约101行左右,找到:`EXTRA_LIBS = `,
批量替换其中的`-lcrypto`和`-lssl`
替换前,该行内容:
```sh
EXTRA_LIBS = -lcrypto -lssl -lcrypto -lresolv -lmcry
Mac OS
2018-04-11 11:16:02
1258
此方法不一定是最优的,但是适合自己的就是最好的
保证php安装完成的前提下
```bash
wget -c http://www.ijg.org/files/jpegsrc.v8d.tar.gz
tar xzf jpegsrc.v8d.tar.gz
cd jpeg-8d
./configure
make
cp ./.libs/libjpeg.8.dylib /usr/local/lib/libjpeg.8.dylib #我的提示是/usr/local/lib目录下缺少文件,所以cp到这里,各位按需cp
#cp
web开发
2018-04-06 17:20:26
1225
迭代器模式通俗的讲是遍历集合的成熟模式,迭代器模式的关键是将遍历集合的任务交给一个叫做迭代器的对象,它的工作时遍历并选择序列中的对象,而客户端程序员不必知道或关心该集合序列底层的结构。它的作用是使所有复杂数据结构的组件都可以使用循环来访问。
对象要实现迭代,需要使这个类实现 Iterator(SPL standard php library标准库提供),这是一个迭代器接口,实现该接口,必须实现以下方法:
current(),该函数返回当前数据项
key(),该函数返回当前数据项的键或者该项在列表中的位置
web开发
2018-04-04 16:01:43
1192
默认的PHP的echo、print之类的输出会被缓存,当缓存达到特定的大小或脚本执行结束,或强行刷新缓冲区才会发送到浏览器客户端。
`php.ini`的`outputing_buffer`字段默认是4096,表示缓存的大小,如果大于该值则会像浏览器客户端输出。但是我发现该值不管怎么改(`ini_get('outputing_buffer')`值始终为0),都不会影响输出,即不会有缓存,这里就不去研究为什么了,这里主要想说的是ob相关的函数。
有时我们需要对输出进行严格控制,比如我要输出100k的数据,而且是一次
web开发
2018-04-03 18:15:57
1193
string setlocale ( int $category , string $locale [, string $... ] )
设置本地地区信息(地区信息是针对一个地理区域的语言、货币、时间以及其他信息。)
$category可用的常量(这些常量都是php内置,结果都是int型):
LC_ALL - 包括下面的所有选项
LC_COLLATE -排序次序
LC_CTYPE - 字符类别及转换(例如所有字符大写或小写)
LC_MESSAGES - 系统消息格式
LC_MONETARY - 货
web开发
2018-04-02 16:14:13
1229
(PHP 5, PHP 7)
ReflectionClass 类报告了一个类的有关信息。
```php
//类摘要
ReflectionClass implements Reflector {
//常量
const integer IS_IMPLICIT_ABSTRACT = 16 ;
const integer IS_EXPLICIT_ABSTRACT = 32 ;
const integer IS_FINAL = 64 ;
//属性
public $name ;
//方法
public __construc
linux
2018-04-01 15:20:46
1000
stat命令:文件/文件系统的详细信息显示;
格式:stat 文件名
stat命令主要用于显示文件或文件系统的详细信息,该命令的语法格式如下:
-f 不显示文件本身的信息,显示文件所在文件系统的信息
-L 显示符号链接
-t 简洁模式,只显示摘要信息
需要注意的是在Mac下stat命令需加-x参数
Access:最后访问文件时间(cat等命令)
Modify:最后修改文件内容时间(vim等命令)
Change:最后修改文件属性时间(chmod/chown等命令)
![](htt
linux
2017-03-26 23:38:40
1300
centos中用pdo连接sql server需要两个扩展`PDO``pdo_dblib`,`PDO`的安装不作解释,主要说说`pdo_dblib`的安装。
我们要再centos中正常使用`pdo_dblib`,需要安装`freetds`。那么什么是FreeTDS?简单的说FreeTDS是一个程序库,可以实现在Linux系统下访问微软的SQL数据库! FreeTDS 是一个开源的程序库,是TDS(表列数据流 )协议的再次实现。它可以被用在Sybase的db-lib或者ct-lib库。它也包含一个ODBC的库。允许