⑴ php7.0怎么通过打开扩展功能和mysql相连
第一步:进入php源码中的"ext/mysql"目录下
第二步:在当前目录下运行phpize命令:/usr/local/php524/bin/phpize
phpize的规则:去哪个目录下运行phpize文件,那么就会在该目录下生成一个configure文件。
第三步:运行刚才生成的configure文件
命令: ./configure --with-php-config=/usr/local/php524/bin/php-config --with-mysql=/usr/local/mysql/
这里最关键的是通过--with-mysql参数告诉mysql客户端的位置。这样才能生成mysql.so。
实验的时候,没有加这个参数,结果错误:
./configure --with-php-config=/usr/local/php524/bin/php-config
第四步:编译生成.so文件
第五步:配置php引擎加载该扩展。
补充一下:就是去php.ini文件中修改一下配置,加载mysql.so这个扩展(这个扩展文件要放到php指定的扩展目录下面去)
第六步:测试php引擎是否成功加载该扩展编写文件phpinfo.php,内容是:<?phpehco phpinfo();?>
运行后,可以看到有如下信息显示:mysqlMySQLSupport enabledActive PersistentLinks 0
Active Links 0
Client API version 5.1.55
MYSQL_MODULE_TYPE no value
MYSQL_SOCKET /tmp/mysql.sock
MYSQL_INCLUDE no value
MYSQL_LIBS no value
通过这样的方式可以确认,php引擎已经成功加载了mysql.so扩展。
第七步:已经生成的mysql.so。编写php代码测试是否能连接mysql。
⑵ php7新建扩展时,make编译时报 unknown type name 'zend_string'
你希望用php7的环境编译,但是你编辑的环境实际上是php5的。
php5 里面没有zend_string类型,用 char 替换,或者,修改你的php版本环境到php7
⑶ php7相对于php5有哪些变动
ZEND引擎升级到Zend Engine 3,也就是所谓的PHP NG
增加抽象语法树,使编译更加科学
64位的INT支持
统一的变量语法
原声的TLS - 对扩展开发有意义
一致性foreach循环的改进
新增 <=>、**、?? 、\u{xxxx}操作符
增加了返回类型的声明
增加了标量类型的声明
核心错误可以通过异常捕获了
增加了上下文敏感的词法分析
⑷ 如何搭建php7最新开发环境搭建
下载必要的软件工具。nginx请到nginx.org下载,php7请到windows.php.net下载。
下载到本地磁盘,放在同一个文件夹下,将上面两个文件解压,注意解压PHP7之后重命名一下(我这里取的是php7,官方的压缩包命名有特殊字符,以防运行出错,最好重命名)。
修改nginx的配置文件nginx.conf。将server{}里面的
location / {
root e:/www;
index index.php index.html index.htm;
}
去掉注释。其中root 是你写的PHP代码的文件夹目录。你可以根据自己的状况自定义。
让nginx支持PHP。找到nginx.conf文件里的
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
下面的配置。将这段配置取消注释,并对fastcgi_param进行修改,注意图片中78行和79行的区别。79行是修改后的正确配置。以上修改完成后保存。
修改将PHP配置文件。将PHP目录下的php.ini.development或php.ini.proction重命名为php.ini即可。
启动nginx和PHP7。对于nginx直接鼠标双击就可以了。而PHP需要在命令提示符中打开,执行 D:\wnmp\php7\php-cgi.exe -b 127.0.0.1:9000 路径可能因不同的文件存放而不同。
最后在上面配置中root 所配置的文件夹目录下新建index.php文件,里面内容为
<?php
phpinfo();
?>
打开浏览器,网址输入localhost,即可出现如下内容。到此PHP7开发环境已经搭建完成。希望能帮到你,我还要抓紧时间自己在后盾人平台自己学习呢,一起加油吧( ˘•ω•˘ )
⑸ PHP7.0.32怎么增加curl扩展
开启curl扩展,这需要修改PHP的配置,在Windows 中只需简单三步:
将PHP安装文件夹下的三个文件php_curl.dll(可能在ext文件夹中),libeay32.dll,ssleay32.dll 复制到 %windir%/system32下。
3、重启php的服务(apache或者IIS),如重启IIS,运行iisreset即可。
⑹ 是不是都要开发两个:php5和php7版的
查看过鸟哥的几个扩展,都是新拉个分支来写php7版的扩展;
而swoole扩展,倒是使用了个php7-swapper.h来包装,但是它里面使用的php内核的东西相对来说比较好用宏来操作。
比如,在php5版扩展下有如下定义:
typedef struct _test_obj {
zend_object std; // 放到头部
my_test_struct *my; int count;
} test_obj;
根据php7扩展改进意见,该结构体需要修改为:
typedef struct _test_obj {
my_test_struct *my; int count;
zend_object std; // 放到尾部} test_obj;
等等,要是使用 宏 来包装,就会让代码看起来比较丑点,但是如果不这样,分两个分支开发的话,那每次都要修改两份代码,也比较费事。
⑺ win10 php7 怎么弄mysql扩展
非常遗憾的告诉你,php7不支持MySQL扩展了,只有使用mysqli和pdo扩展,PHP.INI中取消下面两行前面的分号:
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
⑻ php7相对于php5有哪些变动,举例
ZEND引擎升级到Zend Engine 3,也就是所谓的PHP NG
增加抽象语法树,使编译更加科学
64位的INT支持
统一的变量语法
原声的TLS - 对扩展开发有意义
一致性foreach循环的改进
新增 <=>、**、?? 、\u{xxxx}操作符
增加了返回类型的声明
增加了标量类型的声明
核心错误可以通过异常捕获了
增加了上下文敏感的词法分析
⑼ 如何使PHP7支持Mysql扩展功能
PHP7
正式移除了
mysql
扩展
目前可以使用mysqlnd和mysql
mysqli
pdo_mysql
关系打比方说
mysqlnd是金属,而mysql
mysqli
pdo_mysql只是金属制品而已
使用PDO连接mysql的格式:
$pdo
=
new
PDO('mysql:host=localhost;dbname=database_name;port=3306','用户名','密码');
$pdo->exec('set
names
utf8');
$stmt
=
$pdo->prepare("select
*
from
table
where
id
=:id");
$stmt->bindValue(':id',1,PDO::PARAM_INT);
$stmt->execute();
$rows
=
$stmt->fetchAll(PDO::FETCH_ASSOC);
$rows
=
$pdo->query("select
*
from
table
where
id
=
1")->fetchAll(PDO::FETCH_ASSOC);
⑽ PHP7 扩展中如何遍历数组
使用mysql_fetch_assoc函数,具体用法可以查看一下手册,还有几个相关的函数,我一般是用这个。
$list = array();//声明一个数组用来存放数据 //$row 为取出来的一行的数据,把他放到$list里面 //$rs就是你从数据库查询出来的资源 while($row = mysql_fetch_assoc($rs)) { $list[] = $row; }