php怎么安装目录 怎么安装install.php路径

 更新时间:2017年7月6日 23:33  点击:2320
本文详细介绍了php安装目录的方法,不会的同学可以参考一下。

多数PHP开源项目里有一个install.php的文件,这个文件就是该系统的安装文件,如果要安装的话,前提是要安装PHP的运行环境。PHP集成运行环境安装很简单,只需下一步,下一步即可完成。比如非常流行的XAMPP软件等等。安装完成后,按以下步骤操作即可:

  1. 将项目复制到XAMPP安装目录下的htdocs文件夹下;

  2. 然后启动php和mysql服务;

  3. 打开浏览器,在地址栏输入:localhost/install.php,按回车即可进行安装。

本文详细介绍了在Windows 8 的IIS(8.0)中搭建PHP运行环境的教程,不会的同学快来看看吧。

在Windows 8 的IIS(8.0)中搭建PHP运行环境:

一:安装IIS服务器

1.进入控制面板>>程序和功能>>打开或关闭Windows 功能,找到Internet信息服务,记得选中CGI这一项

2.安装完成后在浏览器中打开localhost,查看是否能显示IIS的欢迎页面:

二:下载安装配置PHP环境

1、下载PHP,官网地址:http://windows.php.net/download/, 
2、将下载的zip压缩包解压到D盘下,解压后为E:\php; 
3、进入控制面板>>管理工具>>Internet信息服务(IIS)管理器; 
4、中间窗口选择“处理程序映射”双击,然后最右边选择“添加模块映射”

5.“可执行文件”一栏找到PHP的安装目录E:\php,右下角的文件类型改为“exe”即可看到“php-cgi.exe”文件出现了 



6.然后可以给网站添加默认文档:default.php和index.php。

还要进行下面的配置:

7.进入E:\php目录,重命名文件php.ini-development改名为php.ini并复制到桌面;

8.下面需要修改桌面的php.ini文件,

打开php.ini文件后,使用快捷键ctrl+F搜索data.timezone修改为data.timezone="Asia/Shanghai”即修改当前的时区 
激活你需要的扩展选项,即将相应dll语句前的分号”;”删除

 代码如下复制代码

extension=php_gd2.dll 
extension=php_mbstring.dll 
extension=php_mysql.dll 
extension=php_pdo_mysql.dll


再搜索extension_dir=将其修改为extension_dir = “E:\php\ext\”,修改并检查完毕后保存,然后把桌面的这个php.ini文件剪切到C:\Windows目录下即可(为什么开始不直接把文件复制到这里来修改呢,因为Windows 8涉及到权限问题,所以先复制到桌面修改,当然也可以放到其它目录修改)

9.php环境配置好了,我们就可以测试一下了,在建立的网站目录下新建一个index.php文件(注意是index.php,不是index.php.txt),内容为”“,然后再在浏览器中打开”localhost“,即可出现类似如下界面

PS1:(在命令行中进入php安装目录下,输入”php -m“命令可查看已开启的dll扩展模块)

Ps2:php网站开发的话少不了mysql数据库,关于mysql数据库环境配置安装图解见这里。

在了解了PHP的一些基本信息之后,首先要做的那么就是安装PHP,软件都没安装怎么学呢?下面请看详细的安装方法。

在了解了PHP的一些基本信息之后,首先要做的那么就是安装PHP,软件都没安装怎么学呢?在PHP中有一个黄金组合,它就是LAMP。

LAMP是什么:

L:linux

A:Apache

M:MySql

P:PHP

特点:开源免费、卡发成本低、开发速度快、开发周期短、执行速度灵活

说完这个之后下面开始为大家介绍PHP的搭建方法。

在以前我们搭建PHP环境的时候,需要分别安装Apache、MySql、PHP,安装起来非常的麻烦,而且安装完成之后还需要修改它们的配置文件、对文件进行关联等。

那么现在我们怎么去搭建PHP环境呢?

现在只需要安装一个PHPstudy就行了,它是一个集成好的环境,只要安装好PHPstudy之后,它就会默认为大家将上面提到的Apache、MySql、PHP进行安装,并且需要配置的地方都已经配置好了。

下面为大家介绍PHPstudy的下载地址和安装方法:

下载地址:

链接: https://pan.baidu.com/s/1i4COZfJ 密码: hfsr

安装方法:

1、解压

2、打开“PHPstudy”文件夹,双击PHPstudy2016.exe就能进行安装了;

那么环境搭建好了之后要怎么开发PHP呢?

在这里一聚教程网推荐大家使用“zend studio”;

开发PHP有很多的工具,在下面列举了一些当前较为常用的工具。

1、Editplus

2、PHPDesigner 7

3、Norepad++

4、PHP Coder

5、Zend Studio

在这些开发工具中,之所以推荐大家使用“Zend Studio”是因为它是专业开发人员在使用PHP整个开发周期中唯一的集成开发环境(IDE),它包括了PHP所有必须的开发部件。通过一整套编辑、调试、分析、优化和数据库工具,Eend Studio加速开发周期,并简化复杂的应用方案。

Eend Studio主要组件:

1、专业的集成开发环境,内置编辑器、调试器以及帮助文档;

2、windows,linux,Mac等多个操作系统版本;

3、多语言支持;

4、专业的编辑器;

5、关键字、语法加亮显示(PHP,HTML,XHTML,JavaScript)

6、XML & CSS的关键字、语法加亮显示

7、代码模版

8、支持 PHP 4、PHP 5

9、代码自动完成功能;

10、PHP Code(+PHPDoc)分析功能;

11、内部调试器

说了这么多,下面给大家提供Zend Studio的下载地址。

Zend Studio下载:

链接: https://pan.baidu.com/s/1jIltrhG 密码: ghvr

Zend Studio破解方法:http://www.111cn.net/phper/php/124669.htm

到这里为止,本文的PHP的安装与环境搭建所有内容就结束了,希望对大家有所帮助。

安装curl扩展支持https是非常的重要现在许多的网站都使用了https了,下面我们来看一篇关于PHP安装curl扩展支持https例子吧。

问题:
 
线上运行的lamp服务器,默认yum安装的curl模块只支持http,不支持https。
 
解决方法:
 
编译安装curl,重新编译php,使php的curl模块支持https。
 
具体步骤:
 
1、下载curl
 
cd /usr/local/src  #进入安装包存放目录
 
wget http://curl.haxx.se/download/curl-7.44.0.tar.gz  #下载
 
2、安装curl
 
cd /usr/local/src
 
tar zxvf curl-7.44.0.tar.gz  #解压
 
cd curl-7.44.0  #进入包安装目录
 
./configure --prefix=/usr/local/curl --with-gssapi --enable-tls-srp --with-libmetalink  #配置
 
make  #编译
 
make install  #安装
 
3、重新编译php
 
查找系统之前的php编译参数
 
/usr/local/php/bin/php -i | grep configure    #查看php编译参数
 
如下:
 
'./configure' '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-mysql=/usr/local/mysql' '--with-mysqli=/usr/local/mysql/bin/mysql_config' '--with-mysql-sock=/tmp/mysql.sock' '--with-pdo-mysql=/usr/local/mysql' '--with-gd' '--with-png-dir=/usr/local/libpng' '--with-jpeg-dir=/usr/local/jpeg' '--with-freetype-dir=/usr/local/freetype' '--with-xpm-dir=/usr/' '--with-zlib-dir=/usr/local/zlib' '--with-t1lib=/usr/local/t1lib' '--with-iconv' '--enable-libxml' '--enable-xml' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--enable-mbregex' '--enable-mbstring' '--enable-ftp' '--enable-gd-native-ttf' '--with-openssl' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-zip' '--enable-soap' '--without-pear' '--with-gettext' '--enable-session' '--with-mcrypt' '--with-curl ' '--enable-ctype'
 
对参数进行修改:
 
如下
 
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql --with-gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/ --with-zlib-dir=/usr/local/zlib --with-t1lib=/usr/local/t1lib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl=/usr/local/curl --enable-ctype
 
备注:修改部分
 
 
取消原来的--with-curl
 
替换为:--with-curl=/usr/local/curl
 
取消参数两边的单引号
 
其它不变
 
cd /usr/local/src/php #进入php安装包目录(注意php版本要和之前一样)
 
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql --with-gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/ --with-zlib-dir=/usr/local/zlib --with-t1lib=/usr/local/t1lib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl=/usr/local/curl --enable-ctype   #配置
 
make #编译
 
make install #安装
 
4、重启apache使设置生效
 
service httpd restart #重启
 
故障解决!
 
5、测试
 
以下代码,保存为phpinfo.php
 
<?php
 
phpinfo();
 
?>
 
上传到网站目录,查找curl,如下图所示,说明安装成功!
 


至此,Linux下PHP安装curl扩展支持https教程完成!
 
扩展阅读:查看软件编译参数
 
查看nginx编译参数:/usr/local/nginx/sbin/nginx -V
 
查看apache编译参数:cat /usr/local/apache/build/config.nice
 
查看mysql编译参数:cat /usr/local/mysql/bin/mysqlbug | grep CONFIGURE_LINE
 
查看php编译参数:/usr/local/php/bin/php -i | grep configure

例子

代码如下: curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在
 

curl https请求代码

代码如下: <?php
/** curl 获取 https 请求
* @param String $url 请求的url
* @param Array $data 要?送的??
* @param Array $header 请求时发送的header
* @param int $timeout 超时时间,默认30s
*/
function curl_https($url, $data=array(), $header=array(), $timeout=30){
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);

$response = curl_exec($ch);

if($error=curl_error($ch)){
die($error);
}

curl_close($ch);

return $response;

}

// 调用
$url = 'https://www.example.com/api/message.php';
$data = array('name'=>'fdipzone');
$header = array();

$response = curl_https($url, $data, $header, 5);

echo $response;
?>
 更高级实用的代码

function curlPost($url, $data, $timeout = 30)
 {
     $ssl = substr($url, 0, 8) == "https://" ? TRUE : FALSE;
     $ch = curl_init();
     $opt = array(
             CURLOPT_URL     => $url,
             CURLOPT_POST    => 1,
             CURLOPT_HEADER  => 0,
             CURLOPT_POSTFIELDS      => (array)$data,
             CURLOPT_RETURNTRANSFER  => 1,
             CURLOPT_TIMEOUT         => $timeout,
             );
     if ($ssl)
     {
         $opt[CURLOPT_SSL_VERIFYHOST] = 1;
         $opt[CURLOPT_SSL_VERIFYPEER] = FALSE;
     }
     curl_setopt_array($ch, $opt);
     $data = curl_exec($ch);
     curl_close($ch);
     return $data;
 }
 $data = curlPost('https://www.111cn.net', array('p'=>'hello'));
 echo ($data);
 

下面我们一起来看一篇关于php扩展开发详细笔记吧,希望这篇文章能够给各位同学带来帮助,具体的如下文介绍。

php内核编写的扩展有两个工作方式

(1). 编译为动态共享对象/可装载模块,也就是常见的 .so扩展,这种扩展可以在php的配置文件中方便的开启或者关闭

(2). 静态编译到php中,使用静态编译方法比较容易上手本文介绍方式

第一种方式:

编写或者下载扩展包

phpize

./configure

make

make install

配置php.ini中的.so文件

第二种方式:

第一步:编译安装php

1. ./configure –prefix=/opt/php56/ –enable-debug –enable-maintainer-zts

2. make

3. make install

4. make clean

这样一个新的php安装在了/opt/php56目录下

php.ini目录:/opt/php56/lib/php.ini

第二步:扩展准备工作

1. PHP在源码中提供了一个扩展骨架构造脚本: ext_skel,脚本放在/usr/local/php-5.6.25/ext目录下。它的使用方式如下:

./ext_skel –extname=mfs –proto=mfs.def

解释一下,–extname明显就是我们要创建的扩展的名称,–proto的proto是prototype的缩写,也就是扩展对外提供的函数原型,可以在这个文件中添加要导出的函数签名,每个函数做一行,这样ext_skel脚本可以自动创建它们的骨架代码。

2. 举个例子,字符串复制函数:

string self_concat(string str, int n)

把这一行保存为mfs.def文件,放在ext文件夹下。

第三步:基本骨架

1. 执行 第二步中的ext_skel命令

此时,/usr/local/php-5.6.25/ext目录下会生成mfs文件夹,并生成一些代码文件和配置文���,php扩展配置文件是/usr/local/php-5.6.25/ext/mfs/config.m4

我们需要打开16行和18行代码的注释,如图:

这样就可以重新生成configure文件可以使用enable-mfs静态编译扩展

第四步:重新生成configure文件,并编译安装php

php安装目录 /usr/local/php-5.6.25

1. ./buildconf –force

2../configure –enable-mfs –prefix=/opt/php56 –with-config-file-path=/opt/php56/lib/php.ini

3. make

4. make install

这样编译的php就带了mfs扩展,并且可以使用def文件中定义的原型函数,但是由于并没有编写函数的具体内容

可以使用/usr/local/php-5.6.25/ext/mfs/mfs.php 进行测试,如下图:

表明脚本已经编译到php了。

第五步:编写扩展函数内容

先看一下有ext_skel脚本自动生成的self_concat函数代码,在ext/mfs/mfs.c:76行

PHP_FUNCTION(self_concat){char *str = NULL;int argc = ZEND_NUM_ARGS();int str_len;long n;if (zend_parse_parameters(argc TSRMLS_CC, “sl”, &str, &str_len, &n) == FAILURE)return;php_error(E_WARNING, “self_concat: not yet implemented”);}

这些代码是一个导出函数的基本框架了。

使用PHPFUNCTION()宏来生成一个适合于Zend引擎的函数原型。其中比较重要的是 zend_parse_parameters 函数,用来获取函数传递的参数;该函数的原型是:

zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, …);

第一个参数是参数的个数,通常使用ZEND_NUM_ARGS()的返回值,TSRMLS_DC这个照写就可以了,第三个参数比较复杂是一个表示函数期望的参数类型的字符串,后面紧跟参数值的变量列表,这里有一个PHP的松散变量和动态类型推断到C语言类型的转换。

第三个参数根据一个参数类型对照表生成:

类型指定符 对应的C类型 描述
l long 符号整数
d double 浮点数
s char *, int 二进制字符串,长度
b zend_bool 逻辑型(1或0)
r zval * 资源(文件指针,数据库连接等)
a zval * 联合数组
o zval * 任何类型的对象
O zval * 指定类型的对象。需要提供目标对象的类类型
z zval * 无任何操作的zval
考虑上面代码的实例:

if (zend_parse_parameters(argc TSRMLS_CC, “sl”, &str, &str_len, &n) == FAILURE)return;

“sl”: 第一个字符s代表二进制字符串,它在后面的参数列表中对应两个值,一个 &str, 一个&strlen;第二个字符’l’(L的小写),表示整数类型参数对应 &n。

扩展中的字符串都是二进制字符串,即并不以\0作为字符串结束,而是使用一个str_len表示字符串长度,具体看_zval结构体。
下面的工作就是修改这个函数了。

完成第一个导出函数

将自动生成的函数更新为:

PHP_FUNCTION(self_concat)

{

char *str = NULL;

int argc = ZEND_NUM_ARGS();

int str_len;

long n;

char *result; /* Points to resulting string */

char *ptr; /* Points at the next location we want to copy to */

int result_length; /* Length of resulting string */

if (zend_parse_parameters(argc TSRMLS_CC, “sl”, &str, &str_len, &n) == FAILURE) {

return;

}

result_length = (str_len * n);

result = (char *) emalloc(result_length + 1);

ptr = result;

while (n–) {

memcpy(ptr, str, str_len);

ptr += str_len;

}

*ptr = ‘\0’;

RETURN_STRINGL(result, result_length, 0);

}

按���上面的方法,重新编译php,也就是第四步重新执行, 就可以在php文件中直接使用slef_concat()函数拼接字符串了。

成功输出拼接的字符串,OK!

[!--infotagslink--]

相关文章

  • PHP7快速编译安装的步骤

    编译安装非常的简单了我们现在的php版本已经到了php7了,下文小编来为各位介绍一篇关于PHP7快速编译安装的步骤,希望文章能够帮助到各位。 一、安装必要一些依赖 yum...2016-11-25
  • 解决Pycharm的项目目录突然消失的问题

    今天小编就为大家分享一篇解决Pycharm的项目目录突然消失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-22
  • Rstudio中安装package出现的问题及解决

    这篇文章主要介绍了Rstudio中安装package出现的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • PHP编译安装后PHP-FPM使用笔记

    PHP-FPM我们相信各位用高版本的php经常使用到了,下面整理了一些关于PHP-FPM的笔记,有兴趣的可进来看看。 今天赶上了123System OPenVZ VPS全场半价的机会,购入了一...2016-11-25
  • linux中PHP dirname(__FILE__)路径问题解决

    在php 中dirname() 函数返回路径中的目录部分,__FILE__而当前运行文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。这是一个魔法变量(预定义常量),在...2016-11-25
  • 如何使用php脚本给html中引用的js和css路径打上版本号

    在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css、js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css、...2015-11-24
  • 安装和使用percona-toolkit来辅助操作MySQL的基本教程

    一、percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索...2015-11-24
  • Linux安装Pytorch1.8GPU(CUDA11.1)的实现

    这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • vscode安装git及项目开发过程

    这篇文章主要介绍了vscode安装git及项目开发过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-19
  • Visual Studio 2015下载和安装图文教程

    这篇文章主要为大家详细介绍了Visual Studio 2015下载和安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • Node调试工具JSHint的安装及配置教程

    现在我们介绍一种在Node下检查简单错误的JS代码验证工具JSHint。  JSHint的具体介绍参考http://www.jshint.com/about/,说直白点儿,JSHint就是一个检查JS代码规范与否的工具,它可以用来检查任何(包括server端和client端...2014-05-31
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15
  • Ubuntu20.04安装cuda10.1的步骤(图文教程)

    这篇文章主要介绍了Ubuntu20.04安装cuda10.1的步骤(图文教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-30
  • docker 启动elasticsearch镜像,挂载目录后报错的解决

    这篇文章主要介绍了docker 启动 elasticsearch镜像,挂载目录后报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-20
  • idea out目录与target目录的区别详解

    这篇文章主要介绍了idea out目录与target目录的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-08
  • 在PyCharm中安装PaddlePaddle的方法

    这篇文章主要介绍了在PyCharm中安装PaddlePaddle的方法,本文给大家介绍的非常想详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-05
  • Postman安装与使用详细教程 附postman离线安装包

    这篇文章主要介绍了Postman安装与使用详细教程 附postman离线安装包,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-05
  • C#获得程序的根目录以及判断文件是否存在的实例讲解

    今天小编大家分享一篇C#获得程序的根目录以及判断文件是否存在的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
  • linux服务器快速卸载安装node环境(简单上手)

    这篇文章主要介绍了linux服务器快速卸载安装node环境(简单上手),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22