php动态切换数据库 php转换数据库到json

php5.5.6如何配置1、apache 2.4.7下载地址:
64位: httpd-2.4.7-win64-VC11.zip
32位: httpd-2.4.7-win32-VC11.zip
PHP5.5.6 Apache2.4.7配置 。
解压Apache24到c:/Apache24(这是配置里的服务器根目录,即ServerRoot的定义) 。你的项目根目录为c:/Apache24/htdocs即DocumentRoot的定义 。如果解压到其他目录下 , 需要对httpd.conf做出一些改动 , 包括ServerRoot、DocumentRoot、Directories,ScriptAlias 。需要改为你的Apache目录的地址 。
开启一个dos窗口:
到你的Apache 的bin目录下:执行httpd.exe 。好吧!我遇到问题了,报了一个错,这个下面再说 。如果成功后 , 会出现Install as a service 。然后继续再执行httpd.exe -k install 安装到服务 。
当然 , 启动|停止|重启的话,都需要用到-k这个参数,也就是httpd.exe -k start|stop|restart 。
好了 , 你可以去你的apache目录 下的bin里double click(双击)ApacheMonitor.exe 。
在浏览器中执行:localhost 会打印出It's Work!
问题1:在我刚开始执行时 , 出现一个报错,httpd.exe:无法启动此程序因为计算机中丢失msvcr100 dll 。这个原因是因为Apache2.4版本是vc11的 。如果在官网apache是在官网上下载的话 , 他会提示你:Be sure that you have installed Visual CRedistributable for Visual Studio 2012 : VC11 vcredist_x64/86.exe 。请确保您已为Visual Studio2012安装的Visual C可再发行 。可先行下载 VC11 vcredist_x64/86.exe 。安装后,再去执行httpd.exe,就不会再报这样的错误了 。
问题1解决了,但紧接着,问题2又出来了 。
问题2:这个问题可能你不会遇到,但既然遇到了,也一并YY出来 。这个是在执行httpd.exe时出现的 。
问题提示:AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::1d6d:f22d:da2c:4739. Set the 'ServerName' directive globally to suppress this message 。(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次 。
这个需要你把ServerName设置成有效的,并且端口号被占了 。先把httpd.conf中的ServerName前的#注释去掉,改在localhost:80或者其他有效均可 。当然端口号需要和listen的保持一致 。
可在dos命令下执行查看端口号:netstat -aon|findstr "80"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 1439
可以看出进程号为1439
再执行 tasklist|findstr "1439"
httpd.exe 2016 Console 0 14,064 K
这个是httpd.exe占了端口,可能是由于先前点击时出现的,这时需要把他给kill掉 , 可以打开任务管理器,然后在进程中找到,结束就可以了 。再次执行httpd.exe -k start,就可以了 。
下载下来的apache24,解压后,可看里面的ReadMe.txt,里面很清晰的介绍了安装步骤 , 不过是英文的 。
访问你的localhost:8080 。注意端口号,我这配置的是8080,一般默认为80.
在windows下配置Apache PHP,在配置PHP时,需要下载相应的版本,下载时要注意non-thread-safe和thread-safe这两个版本 。
non-thread-safe是 非安全线程 主要与IIS搭配环境 。
thread-safe 安全线程 与Apache搭配环境 。
注意thread-safe版本中会有php5apache2_4.dll的动态链接库 , 与apache搭配 。
PHP.ini修改:
extension_dir改为你的php下/ext目录,如改为extension_dir = "D:/Environment/php-5.5.6-x64/ext 。并把前面的注释分号去掉 。
其次:打开相应的extension扩展 。
修改时区date.timezone = PRC,基本配置完成 。
在Apache的httpd.conf修改:
配置PHP:
在之间加入AddType application/x-httpd-php .php
在尾部加上php
LoadModule php5_module "D:/Environment/php-5.5.6-x64/php5apache2_4.dll"
PHPIniDir "D:/Environment/php-5.5.6-x64"
访问一下php程序 , 新建index.php,打印phpinfo();
Ok!配置成功!
添加配置php_memcache扩展 。php_memcache.dll与php版本相对应的 。
各版本memcache dll下载地址
下载后,加入ext目录下 。在php.ini加 extension=php_memcache.dll 。ok!完成 。
配置php_mongo扩展 。同memcache一样 。
各版本mongo dll下载地址
注意下载时,看你的mongo version , 然后再选相应的php版本的dll , 同样放入ext目录下 。php.ini添加extension=php_mongo.dll
#windows下 PHP5.5.6Imagick扩展
1、先安装 ImageMagick-6.8.7-7-Q16-x64-dll.exe。下载地址: 可以选择其他版本 。
2、解压 php_imagick-3.1.2-5.5-ts-vc11-x64.zip , 将php_imagick.dll放入php的ext目录下 。
可根据Imagick的版本自行下载 , 下载地址: 点击DLL , 可以进入选择相应的php版本 。
下载时,请注意non-thread-safe和thread-safe,前者适用于IIs,后者适用于Apache 。
3、打开php.ini,添加 extension=php_imagick.dll,重启Apache 。
没有配置Mysql,大家可以自己找Mysql安装 。
如何使用drupal直接操作postgres数据库?Drupal是主流的CMS系统之一 。因此具备Drupal技能的开发人员有很多 。
考虑这样的情况 , 如果你有一个现有的非Drupal系统,然后有一个Drupal开发团队,你希望这个Drupal团队帮你扩展应用 。
那么这个时候,Drupal应用就应该设计成是支持多数据库的 。
在Drupal中使用多数据,也很简单 。
1、首先在配置文件(Settings.php)中把默认的数据库配置项改成数组形式:
?php
$db_url['default'] = 'mysql://drupal:drupal@localhost/drupal';
$db_url['jigo'] = 'mysql://user:pwd@localhost/jigo';
?
注意这里的数据库格式必须是一样的 。即不能一个是mysql,另外一个是pgsql 。
而且默认的必须是drupal自己的数据库 。
2、然后在程序中动态切换:
?php
global $db_url; // 数据库链接的内部变量
if (!is_array($db_url)) {
$default_db = $db_url;
$db_url = array('default' = $default_db);
}
//也可以动态设置新的数据库,这里注释掉,因为我们已经写在配置项中
//$db_url['jigo'] = 'mysql://user:pwd@localhost/jigo';
db_set_active('jigo');// activationexecution same as explained above
$results = db_query($sql); //sql represents the query to be executed
db_set_active('default'); // set back to original
?
regards,
iefreer
windows下怎么安装php7,php7里面没有这个php7apache2第一步:安装Apache服务 。
在这里主要配置Network Domain、Server Name、Email地址以及Apache服务的占用端口 , 默认为80端口,你可以根据需要配置在其他端口,Apache的安装目录你可以使用默认目录或根据需要自行选择安装目录 。
在完成apache服务的安装后,在游览器中输入 , 出现It’s work!字样,说明Apache服务安装成功了 。
第二步:MySQL的安装
选择Custom自定义安装
点击“Change”更改你需要的目录
待文件复制安装完毕后,进行MySQL设置界面,单击Finish 。
选择Detailed Configuration进行详细配置
选择MySQL运行模式:Server Machine
选择MySQL数据库默认存储方式:Non-Trans Only (MYISAM)
设定MySQL最大连接数:一般设置为128 – 512之间的整数 。
设定MySQL网络参数,注意:不要勾选启用Strict Mode!那个Addfirewall的选项仅在需要外连MySQL的时候勾选上 , 也就是说给防火墙加个出入站的策略 。
设定MySQL默认字符集:以用户站点语言为准,默认我们填gbk 。
Windows环境设定
修改设定root用户密码,root密码请设置的比较复杂些,如果你出现的是三行,第一行的current password不要填写,留空白
注意:非必要情况下,不要启动远程连接模式! 完成MySQL的安装,并启动MySQL服务 。
完成后 , 打开cmd命令提示符窗口,输入命令:mysql –u root –p
输入刚才安装时设置的密码后,如果能够正常进入MySQL控制台则说明MySQL安装正常 。
更改MySQL数据库存放目录(可选 , 默认是在C:ProgramDataMySQLMySQL Server 5.1data,隐藏目录)
打开cmd命令提示符窗口 , 输入命令:net stop mysql 停止MySQL服务运行;
打开你的mysql安装目录的my.ini,
找到:
Datadir = “XXXXdata”
修改为:
Datadir = “你需要的mysql安装目录,如:F:Database”
将C:ProgramDataMySQLMySQL Server 5.1data 文件夹复制到你修改的Datadir目录 , 注意不是作为子目录,如果你的Datadir写的是F:Database,那么你就把C:ProgramDataMySQLMySQL Server 5.1data复制到F盘,然后改名为Database;
打开cmd命令提示符窗口,
输入命令:net start mysql
启动MySQL服务 。
重新测试MySQL是否工作正常 。
第三步:安装PHP 。
其实在Windows 7下进行PHP安装非常简单,由于我下的是PHP代码包,只要解压php-5.3.2-Win32-VC6-x86并重名为文件夹为php,将其复制到C盘目录下即可完成PHP安装 。
PHP环境搭建第三步:进行PHP配置环境 。
解压缩下载的php-5.2.8-Win32.zip文件到你指定的目录
然后修改php.ini
进入PHP文件夹,将php.ini-dist 重命名为php.ini ;
打开php.ini文件,找到:
extension_dir= “./”
将其改为:
extension_dir= “你的php解压目录ext”
找到:Windows Extensions
在Windows Extensions下方的动态模块配置中,需要打开以下模块支持:(去掉模块配置每行前面的分号即可)
php_curl.dll
php_pdo_mysql.dll
php_gd2.dll
php_mbstring.dll
php_mcrypt.dll
php_mhash.dll
php_ming.dll
php_mysql.dll
php_openssl.dll
php_sockets.dll
php_xmlrpc.dll
php_zip.dll
找到:
disable_functions=
改为:
disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
保存php.ini文件,并将其复制到Y:Windows,然后把php文件夹下的libmysql.dll复制到C:WindowsSystem32目录下 。
接着配置PHP的Session功能(可?。?
在使用session功能时,我们必须配置session文件在服务器上的保存目录,否则无法使用session,我们需要在Windows 7上新建一个可读写的目录文件夹 , 此目录最好独立于WEB主程序目录之外,此处我在D盘根目录上建立了phpsessiontmp目录,然后在php.ini配置文件中找到
;session.save_path = “/tmp”
修改为
session.save_path = “D:/phpsessiontmp”
配置PHP的文件上传功能 (可?。?
同session一样 , 在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败,我们仍然需要在Windows 7上建立一个可读写的目录文件夹 , 此处我在D盘根目录上建立了phpfileuploadtmp目录,然后在php.ini配置文件中找到
;upload_tmp_dir =
修改为
upload_tmp_dir = “D:/phpfileuploadtmp”
第五步:配置Apache以支持PHP
1、打开你的apache2的安装目录,找到conf文件,打开里面的httpd.conf
在#LoadModule vhost_alias_module modules/mod_vhost_alias.so下添加
复制代码
代码如下:
LoadModule php5_module "你的php安装目录/php5apache2_2.dll"
PHPIniDir "c:/Windows" (因为把php.ini复制到了C:/Windows目录中了)
AddType application/x-httpd-php .php .html .htm
我们在PHP目录下可以看到多个php5apache的DLL文件,由于我们使用的是Apache2.2.15,所以我们当然需要使用php5apache2_2.dll,接着指定PHP的安装目录以及执行的程序扩展名 。
2、我们应该知道默认Apache服务器执行WEB主程序的目录为Apache2.2/htdocs,所以当你的WEB主程序目录变更时,我们需要修改相应的Apache配置,即将
复制代码
代码如下:
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
修改为
复制代码
代码如下:
DocumentRoot "D:/PHPWeb(目录自己定,我这是随便写的)"
还有
复制代码
代码如下:
Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
修改为
Directory "D:/PHPWeb(目录自己定,我这是随便写的)"
最后修改具体的index文件先后顺序 , 由于配置了PHP功能 , 当然需要index.php优先执行
DirectoryIndex index.html
修改为
DirectoryIndex index.php index.html
最后重启Apache服务器
在一切工作完成后,在你刚才指定的工作目录中(D:/PHPWeb)新建php文件,输入以下内容
复制代码
代码如下:
?
phpinfo();
?
保存,在浏览器中输入刚才新建的php文件名.php , 如果出现php信息的话,就说明成功了 。然后是数据库的链接 , 把刚才建的php文件的内容替换为
复制代码
代码如下:
?php
$connect=mysql_connect(“127.0.0.1″,”root”,”你的mysql数据库密码”);
if(!$connect) echo “Mysql Connect Error!”;
else echo “欢迎我的博客-”;
mysql_close();
?
thinkphp的缺点ThinkPHP的优缺点如下:
1、高级模型:可以轻松支持序列化字段、文本字段、只读字段、延迟写入、乐观锁、数据分表等高级特性 。
2、视图模型:轻松动态地创建数据库视图 , 多表查询相对简单 。
3、关联模型:让你以出乎意料的简单、灵活的方式完成多表的关联操作 。
4、模板引擎:系统内建了一款卓越的基于XML的编译型模板引擎,支持两种类型的模板标签,融合了Smarty和JSP标签库的思想 , 支持标签库扩展 。通过驱动还可以支持Smarty、EaseTemplate、TemplateLite、Smart等第三方模板引擎 。
5、缓存机制:系统支持包括文件方式、APC、Db、Memcache、Shmop、Eaccelerator和Xcache在内的多种动态数据缓存类型,以及可定制的静态缓存规则,并提供了快捷方法进行存取操作 。
6、类库导入:ThinkPHP是首先采用基于类库包和命名空间的方式导入类库,让类库导入看起来更加简单清晰,而且还支持冲突检测和别名导入 。为了方便项目的跨平台移植,系统还可以严格检查加载文件的大小写 。
7、扩展机制:系统支持包括类库扩展、驱动扩展、应用扩展、模型扩展、控制器扩展、标签库扩展、模板引擎扩展、Widget扩展、行为扩展和模式扩展在内的强大灵活的扩展机制,让你不再受限于核心的不足和无所适从,随心DIY自己的框架和扩展应用 。
8、URL模式:系统支持普通模式、PATHINFO模式、REWRITE模式和兼容模式的URL方式,支持不同的服务器和运行模式的部署,配合URL路由功能 , 让你随心所欲的构建需要的URL地址和进行SEO优化工作 。
9、编译机制:独创的核心编译和项目的动态编译机制,有效减少OOP开发中文件加载的性能开销 。ALLINONE模式更是让你体验飞一般的感觉 。
10、ORM:简洁轻巧的ORM实现,配合简单的CURD以及AR模式,让开发效率无处不在 。
11、查询语言:内建丰富的查询机制,包括组合查询、复合查询、区间查询、统计查询、定位查询、动态查询和原生查询,让你的数据查询简洁高效 。
12、动态模型:无需创建任何对应的模型类,轻松完成CURD操作 , 支持多种模型之间的动态切换,让你领略数据操作的无比畅快和最佳体验 。
13、分组模块:不用担心大项目的分工协调和部署问题,分组模块帮你解决跨项目的难题 。
14、AJAX支持:内置AJAX数据返回方法,支持JSON、XML和EVAL格式返回客户端 , 并且系统不绑定任何AJAX类库,可随意使用自己熟悉的AJAX类库进行操作 。
15、多语言支持:系统支持语言包功能 , 项目和模块都可以有单独的语言包,并且可以自动检测浏览器语言自动载入对应的语言包 。
16、模式扩展:除了标准模式外,系统内置了Lite、Thin和Cli模式,针对不同级别的应用开发提供最佳核心框架,还可以自定义模式扩展 。
17、自动验证和完成:自动完成表单数据的验证和过滤,生成安全的数据对象 。
18、字段类型检测:字段类型强制转换,确保数据写入和查询更安全 。
19、数据库特性:系统支持多数据库连接和动态切换机制,支持分布式数据库 。犹如企业开发的一把利刃,跨数据库应用和分布式支持从此无忧 。
thinkphp对数据库操作有哪些内置函数8.4.4 Model类
getModelName() 获取当前Model的名称
getTableName() 获取当前Model的数据表名称
switchModel(type,vars=array()) 动态切换模型
table() 设置当前操作的数据表
field() 设置要查询的数据字段
where() 设置查询或者操作条件
【php动态切换数据库 php转换数据库到json】data(data) 设置数据对象
order(order) 设置排序
limit(limit) 查询限制
page(page) 查询分页
join(join) 进行JOIN查询
having(having) 进行having查询
group(group) 进行group查询
lock(lock) 查询锁定
distinct(distinct) 唯一性查询
count(field) 记录统计
sum(field) 总数查询
min(field) 最小值查询
max(field) 最大值查询
avg(field) 平均值查询
_initialize() 模型初始化方法
_facade(data) 对保存到数据库的数据进行处理
_before_write(data) 写入数据前的回调方法 包括新增和更新
add(data='',options=array()) 新增数据
_before_insert(data,options) 写入数据前的回调方法
_after_insert(data,options) 写入数据后的回调方法
selectAdd(fields='',table='',options=array()) 通过Select方式添加记录
save(data='',options=array()) 更新数据到数据库
_before_update(data,options) 更新数据前的回调方法
_after_update(data,options) 更新成功后的回调方法
delete(options=array()) 删除数据
_after_delete(data,options) 删除成功后的回调方法
select(options=array()) 查询数据集
_after_select(resultSet,options) 查询成功后的回调方法
findAll(options=array()) select方法的别名
_options_filter(options) 表达式过滤回调方法
find(options=array()) 查询数据
_after_find(result,options) 查询成功的回调方法
setField(field,value,condition='') 设置记录的某个字段值
setInc(field,condition='',step=1) 字段值增长
setDec(field,condition='',step=1) 字段值减少
getField(field,condition='',sepa=' ') 获取某个字段值
create(data='',type='') 创建数据对象
autoCheckToken(data) 表单令牌验证
query(sql) 执行原生SQL查询
execute(sql='') 执行原生SQL操作
startTrans() 启动事务
commit() 提交事务
rollback() 事务回滚
getError() 获取模型的错误信息
getDbError() 获取数据库的错误信息
getLastInsID() 获取最后执行的SQL语句
getPk() 获取主键名称
getDbFields() 获取数据表的字段信息
regex(value,rule) 使用正则验证数据
setProperty(name,value) 设置模型的属性值
2.1版新增方法:
db(linkNum,config='') 切换当前数据库连接
高级模型类AdvModel
topN(count,options=array()) 查询满足条件的前N个记录
getN(position=0,options=array()) 查询符合条件的第N条记录
0 表示第一条记录 -1 表示最后一条记录
first(options=array()) 获取满足条件的第一条记录
last(options=array()) 获取满足条件的最后一条记录
returnResult(data,type='') 返回指定的数据类型
setLazyInc(field,condition='',step=1,lazyTime=0) 字段值延迟增长
setLazyDec(field,condition='',step=1,lazyTime=0) 字段值延迟减少
addConnect(config,linkNum=NULL) 增加数据库连接
delConnect(linkNum) 删除数据库连接
closeConnect(linkNum) 关闭数据库连接
switchConnect(linkNum,name='') 切换数据库连接
patchQuery(sql=array()) 批处理执行SQL语句
getPartitionTableName(data=https://www.04ip.com/post/array()) 得到分表的的数据表名
php 一个页面有好几个radio按钮 , 怎么实现radio按钮切换 , 检索条件部分跟在动态切换 。这个是需要用JS来实现php动态切换数据库的php动态切换数据库 , 就类似tap选项卡的效果 。下面是找的一个例子php动态切换数据库,和你想要的效果一样
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
titleRadio切换效果/title
style
*{margin:0;padding:0;}
body{margin:50px;font-size:12px;color:#666;}
li{list-style:none;}
div{width:210px;}#tab1,#tab2{width:398px;height:34px;border:1px#cfedff solid;border-bottom:0;background:url(images/title.gif)repeat-x;}#tab1 ul,#tab2 ul{margin:0;padding:0;}#tab1 li,#tab2 li{float:left;padding:0 30px;height:34px;line-height:34px;text-align:center;border-right:1px#ebf7ff solid;cursor:pointer;}#tab1 li.now,#tab2 li.now{color:#5299c4;background:#fff;font-weight:bold;}.tablist{width:378px;height:100px;padding:10px;font-size:14px;line-height:24px;border:1px#cfedff solid;border-top:0;display:none;}.block{display:block;}
fieldset{width:378px;border:1px#B0C0D1 solid;padding:10px;}
legend{background:#B0C0D1;padding:4px 10px;color:#fff;}#c{margin-top:10px;}.c1,.c2{width:378px;line-height:20px;}.c1{color:#014CC9;}.c2{color:#7E6095;}
h3{font-size:16px;padding:5px 0;}.red{color:#BD0A01;}
/style
/head
body
h1Radio切换/h1
script type="text/javascript"
function radioShow() {
var myradio = document.getElementsByName("myradio");
var div = document.getElementById("c").getElementsByTagName("div");
for (i = 0; idiv.length; i) {
if (myradio[i].checked) {
div[i].style.display = "block";
} else {
div[i].style.display = "none";
}
}
}
/script
form name="ck"
fieldset
legendI'm Radio/legend
h3请选择:/h3
label for="r1" class="red"
input name="myradio" id="r1" type="radio" value="" checked="checked" onclick="radioShow();" /XML教程/label
label for="r2" class="red"
input name="myradio" id="r2" type="radio" value="" onclick="radioShow();" /浏览器脚本/label
div id="c"
div class="c1"
label for="xml"
input name="c2" type="checkbox" id="xml" value="" /XML/label
label for="dtd"
input name="c2" id="dtd" type="checkbox" value="" /DTD/label
label for="xmldom"
input name="c2" id="xmldom" type="checkbox" value="" /XML DOM/label
label for="xsl"
input name="c2" id="xsl" type="checkbox" value="" /XSL/label
label for="xslt"
input name="c2" id="xslt" type="checkbox" value="" /XSLT/label
label for="xslfo"
input name="c2" id="xslfo" type="checkbox" value="" /XSL-FO/label
label for="xpath"
input name="c2" id="xpath" type="checkbox" value="" /XPath/label
label for="xquery"
input name="c2" id="xquery" type="checkbox" value="" /XQuery/label
label for="xlink"
input name="c2" id="xlink" type="checkbox" value="" /XLink /label
label for="xpointer"
input name="c2" id="xpointer" type="checkbox" value="" /XPointer/label
label for="schema"
input name="c2" id="schema" type="checkbox" value="" /Schema/label
label for="xforms"
input name="c2" id="xforms" type="checkbox" value="" /XForms/label
/div
div class="c2" style="display:none;"
label for="js"
input name="c3" id="js" type="checkbox" value="" /JavaScript/label
label for="hd"
input name="c3" id="hd" type="checkbox" value="" /HTML DOM/label
label for="dhtml"
input name="c3" id="dhtml" type="checkbox" value="" /DHTML/label
label for="vbs"
input name="c3" id="vbs" type="checkbox" value="" /VBScript/label
label for="ajax"
input name="c3" id="ajax" type="checkbox" value="" /AJAX/label
label for="e4x"
input name="c3" id="e4x" type="checkbox" value="" /E4X/label
label for="wml"
input name="c3" id="wml" type="checkbox" value="" /WMLScript/label
/div
/div
/fieldset
/form
/body
/html
php动态切换数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php转换数据库到json、php动态切换数据库的信息别忘了在本站进行查找喔 。

    推荐阅读