说明:本文档在2016.5.29有更新
最近分别在Windows和Ubuntu上安装PHP开发环境,也碰得到一些小问题,现将安装过程记录下来。如果我们采用的ubuntu的缺省安装方式很简单,步骤如下:
1】安装apache2:apt-get install apache2
2】安装php(php7.0):apt-get install php7.0,libapache2-mod-php7.0,php7.0-mysql,php7.0-xml。其中第二个是关联apache2和php,而第三个非常重要,是关联数据库的。(那个mysql都是小写,CSDN自己做了关联词后,被强制改变的。)
3】开启使用service apache2 start(那么关闭就是stop了),不要使用apache2 -k start(虽然能启动,但是关闭有问题)
我们安装Apache2后,这个服务会开机自动重启的。我们可以通过设置/etc/rc<x>.d来确定。具体参见[1],简单地,我们可以通过sysv-rc-conf对这些rc<x>.d进行配置。sudo apt-get install sysv-rc-conf,然后执行之。
如果我们不希望使用系统的默认路径,希望有自己的开发环境,特别是单位中server和别人share。下面是个人环境的安装。
安装httpd
一、在阿土上安装httpd
可以直接apt-get的方式安装httpd。
从http://httpd.apache.org中获得httpd最新版本的source code,然后解压安装。安装的缺省目录位于/usr/local/apache2,由于这是个人的开发环境,因此想指定到/workspace/apache24中,过程如下:
1、./configure --prefix=/workspace/apache24,在这过程中,如果报错,缺什么就安装什么,优先安装-dev,例如缺libA,如果有libA-dev和libA,安装libA-dev,如果缺APR,安装libaprutil1-dev。
2、make
3、make install
可以执行httpd开启,httpd –k stop停止。由于缺省为80端口,也就是必须使用root用户,由于只是做为开发环境,因此在httpd.conf中将端口设置为1080(必须在1024之后),方便非root用户使用。
二、在windows下安装
从httpd的官网,引导到http://www.apachehaus.com/cgi-bin/download.plx下载了最新版本httpd-2.4.12-x86.zip。
解压后,修改httpd.conf,将SRVROOT定义为所防止的目录,例如:
Define SRVROOT "D:/develop/httpd-2.4.12-x86/Apache24"
其他需要注意的设置有DocumentRoot、Ditectory,是否和安装路径一样,一般情况下,与SRVROOT路径保持一致。
同样运行httpd,和httpd –k stop进行开关。如果需要作为系统服务安装,使用httpd –k install,安装后,就可以用ApacheMonitor这个图形界面来操控。但是我不喜欢这种方式,机器已经决定越来越慢了,作为开发环境,还是在需要使用的时候才开启。
具体的命令,用httpd -h查看。
【补充】在Win10机器上安装后运行,出现问题,说缺少VCRUNTIME140.dll,这可能和微软的Visual C++ 2015 中的重大更改有关。需要添加VCRUNTIME140.dll。网上search有不少地方提供VCRUNTIME140.dll的,但是总是有些不放心,还是希望从微软网站下载。实际上,httpd下载网页http://www.apachelounge.com/download/,已经给出的指引:Be sure that you have installed the latest C++ Redistributable Visual Studio 2015 :vc_redist_x64/86.exe.通过这里可以到微软的网站下载。(2016.5.28)
安装php
一、在阿土上安装php
在ubuntu上安装和httpd的差不多,从www.php.net官网上下载最新的linux版本。
1、configure --prefix=/workspace/php56--with-apxs2=/workspace/apache24/bin/apxs --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd 。我们需要关联php和httpd,让httpd能够找到php的解析,因此需要通--with-apxs2进行配置。
如果我们需要关联数据库mysql,有些资料给出要--with-mysql,但是这个参数在php新的版本中(如php7.0)已经无效。在https://dev.mysql.com/downloads/connector/php-mysqlnd/中指出MySQL native driver for PHP - mysqlnd有三种mysql的扩展,ext/mysql(not recommend),ext/mysqli,pdo_mysql,在https://dev.mysql.com/doc/apis-php/en/apis-php-mysqlnd.install.html中给出了安装参数--with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd分别对应后面两个驱动,文档中还给出了--with-mysql=mysqlnd,但在实际make的时候给出warn,说不认识--with-mysql。
2、make
3、make install
同样在这过程中,如果报错,缺什么就安装什么包,优先安装-dev包。
安装php后,我们需要修改httpd.conf,告知碰倒什么文件就找php解析器。我们在该文件最后增加:
AddType application/x-httpd-php .php .phtml .tpl
我们还需要增加index.php作为目录的缺省,在
<IfModule dir_module>
DirectoryIndex index.html index.php
</ifModule>
增加一个test.php文件检验一下是否正常安装:
<?php
echo phpinfo();
?>
二、在windows上安装PHP解析器
在http://windows.php.net/download/下载安装后。在httpd.conf最后增加:
PHPIniDir "D:\develope\php-5.6.11-Win32-VC11-x86"
LoadModule php5_module "D:\develope\php-5.6.11-Win32-VC11-x86\php5apache2_4.dll"
AddType application/x-httpd-php .php .phtml .tpl
第二行给出调用php5的dll,第三行和linux的一样。第一行是给出php的配置文件。
三、php的配置文件
作为的配置文件,就是通过文件对php环境进行全局配置。
在Windows中,我们在httpd.conf中给出了PHP的配置文件目录所在。配置文件为php.ini。我们在windows的php安装目录下看到有php.ini-development,以及php.ini-production,这分布是开发环境和发布环境的php配置。因为我的是开发环境,选择php.ini-development作为模板,直接copy成php.ini。
在php.ini中,首先要保证路径的正确,例如:
doc_root = "D:\develope\httpd-2.4.12-x86-r2\Apache24\htdocs"
extension_dir = "D:\develope\php-5.6.11-Win32-VC11-x86\ext"
此外,根据需求,打开extension,例如使用mysql:
extension=php_mysql.dll
在阿土的环境中,我们没有看到类型的文件,也没关系,需要的话从编译过后的文件中copy一个到指定的目录下就可以了(也是php.ini-development, php.ini-production)。这个文件还是必须的,因为有些参数可能需要修改,例如在mediawiki中,php的缺省upload文件大小是2M,这个需要修改。至于php.ini的路径在哪里,我们可以在检测文件中看到。在我的例子中,缺省位于安装路径/lib/下,当然我们也可以在编译时指定所在路径:
--with-config-file-path=/home/wei/php7.0.7/etc
但是这样做还不足够,在apache2启动的使用Loaded Configuration File 通常为[none],要使用php.ini还需要在Apache的配置文件中增加:
PHPIniDir "/home/wei/php7.0.7/etc"
四、本地配置
使用php.ini的是全局配置,如果只是本地配置,则可以在代码中使用ini_set()来进行配置。
五、windows的安装问题
配置好后,启动httpd,报错。
httpd: Syntax error on line 528 D:/…../httpd.con: Cannot load D:/……/php5apache2_4.dll into server : \xd5……..
就是php5apache2_4.dll有问题。如果我们直接双击php运行,就会弹出系统错误框:无法启动此程序,因为计算机中丢失MSVCR110.dll…。这是缺少相关的依赖dll导致。如果出现这种情况,下载之:https://www.microsoft.com/zh-cn/download/details.aspx?id=30679。
之后问题解决。
附:安装mediaWiki
通过引导,设置好mediaWiki后,又一个LocalSettings.php,要放入wiki所在的文件,需要注意:
1。如果wiki是单机安装,不需要指向其他的web server,就不要采用绝对定制,应该采用相对地址,请注释掉下面这句。这样在改变apache2端口配置或者机器地址的时,mediaWiki能够继续生效,无需修改配置。
#$wgServer = "http://192.168.1.5:1080"; (安装时候检测到的ip地址和端口)
2、设置图标,添加:$wgFavicon = "$wgScriptPath/path/to/your/favicon.ico";,例如$wgFavicon = "$wgScriptPath/favicon.ico";,注意php语句,最后有分号。
3、高亮代码:参见https://www.mediawiki.org/wiki/Extension:SyntaxHighlight,增加下面的设置,如果设置后仍不成功,并显示语法错误,这是需要安装python-pygments(syntax highlighting pachage written in Python),安装好即可。当然如果存在不同版本的包,可以通过$wgPygmentizePath指向具体的路径。
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
4、在页面上输入http://192.168.1.5/wei/index.php/MediaWiki:Common.css,进入配置css的词条,我们可以对所有pre进行配置,如下:
pre {
font-family: "Courier New", monospace;
}
5、通常我们会修改upload文件的大小,在php.ini中修改upload_max_filesize得值,注意这个值应小于post_max_size<memory_limit
6、修改时区,在LocalSettings.php中增加 $wgLocaltimezone="Asia/Shanghai";
459

被折叠的 条评论
为什么被折叠?



