存档

‘Programming’ 分类的存档

在Fedora 14中安装Lighttpd+PHP5+MySQL

2010年12月22日 4 条评论

Lighttpd是一款安全,高效,基于标准且为高速环境设计的web服务器。这篇教程将教你如何在一台Fedora 14中安装Lighttpd+PHP5(FastCGI模式)+MySQL。
我已经测试无误,这将保证为你工作!

1 前言备注

在这篇教程中我使用的用户名是www.unixbar.net,IP地址是192.168.0.100.这些设置可能与你的有所不同,因此 你需要在适当的地方修改一下.

1.安装MySQL

[root@server ~]# yum -y install mysql mysql-server

为MySQL添加自启动,让MySQL伴随系统启动:

[root@server ~]# chkconfig --levels 235 mysqld on
[root@server ~]# /etc/init.d/mysqld start

阅读全文…

在Fedora 14中安装Nginx+MySQL+PHP5(PHP-FPM模式) LNMP

2010年12月22日 没有评论

Nginx(发音为 “engine x”)是一款免费、开源、高性能的HTTP服务器。同时Nginx以稳定、功能丰富、配置简单、资源消耗少著称。这篇教程将会为你展示如何在一台 Fedora 14中安装Nginx+MySQL+PHP5(PHP-FPM模式)

我已经测试无误,这将保证为你工作!

1 前言备注

在这篇教程中我使用的用户名是www.unixbar.net,IP地址是192.168.0.100.这些设置可能与你的有所不同,因此 你需要在适当的地方修改一下.
阅读全文…

在Debian Lenny中安装Nginx+PHP5+MySQL

2010年10月26日 没有评论

Nginx是一款优秀的网站服务器,其特点是可承受负载大,占用内存少,目前国内很多门户网站都已经开始使用Nginx,今天这篇教程我们一起来学习如何在Debian lenny中通过apt来配置一个Nginx+PHP5+MySQL的环境。

1.安装前的准备

在安装之前,首先确保你已经安装好了一台Debian Lenny的服务器,并配置好了常用的服务,比如sshd等。在这里我们假设服务器的主机名为www.unixbar.net,ip地址是192.168.10.24
阅读全文…

分类: Debian, MySQL, Nginx, PHP 标签: , , ,

三目运算符(ifsetor)

2010年5月11日 没有评论

三目运算符(ifsetor)

在处理输入数据时常见的操作之一就是在输入数据不存在或者校验失败的情况下,使用三目运算符提供一个默认值。你大概见过与以下类似的代码。

$safe = $input ? $input : 'default';

这句代码有些地方有点多余,所以中间的值已经是可选的了。现在只需使用ifsetor语法就可以了,就像以下代码这样。

$safe = $input ?: 'default';
分类: PHP 标签: , ,

Ceil 函数详解

2010年5月11日 没有评论

计算大于指定数的最小整数。

Ceil语法: int ceil(float number);

Ceil返回值: 整数

函数种类: 数学运算

Ceil内容说明

本函数用来计算比浮点参数 number 大的最小整数。

使用范例

本例Ceil返回值为 4。

1
2
3
4
<?php
$nextint=ceil(3.14);
echo $nextint;
?>

参考

Floor() round()

分类: PHP 标签: ,

phpMyAdmin:Cannot load mysql extension. Please check your PHP configuration

2010年3月25日 2 条评论

我在新的服务器上安装了phpMyAdmin.但是无论当我什么时候访问phpmyadmin的时候都会显示:

Cannot load mysql extension. Please check your PHP configuration

该如何在CentOS/RHEL/Fedora apache web服务器上解决这个问题呢?

你需要安装php-mysql模块,他的作用可以让PHP应用程序使用MySQL数据库。你同样也可以安装下列的模块:
• php-mysql : PHP使用MySQL数据库的模块
• php-gd : PHP使用 gd图形类库的模块
• php-mbstring : PHP多字节字符串处理模块
• php-mcrypt : 标准PHP mcrypt库
输入下列命令解决问题:

# yum -y install php-mysql
# service httpd graceful

或者

# apachectl -k graceful

在配置/etc/php.d/mysql.ini文件前,无需编辑/etc/php.ini:

# cat /etc/php.d/mysql.ini

相关参数:

; Enable mysql extension module
extension=mysql.so

相关模块
输入下列命令安装其他模块:

# yum -y install php-mbstring php-mcrypt php-gd
# service httpd graceful

参考网址
http://www.cyberciti.biz/faq/cannot-load-mysql-extension-check-your-phpconfiguration/

在Fedora 12中安装Nginx+MySQL+PHP5(FastCGI模式)LNMP

2010年2月6日 5 条评论

Nginx(发音为 “engine x”)是一款免费、开源、高性能的HTTP服务器。同时Nginx以稳定、功能丰富、配置简单、资源消耗少著称。这篇教程将会为你展示如何在一台 Fedora 12中安装Nginx+MySQL+PHP5(FastCGI模式)

我已经测试无误,这将保证为你工作!

1 前言备注

在这篇教程中我使用的用户名是server1.example.com,IP地址是192.168.0.100.这些设置可能与你的有所不同,因此 你需要在适当的地方修改一下.

2.安装MySQL5

我们通过执行下面的命令来安装MySQL:

yum install mysql mysql-server

然后我们为MySQL创建系统启动连接(这样的话,MySQL就会在系统启动的时候自动启动)并且启动MySQL服务器:

chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start

现在检查是否支持网络访问,运行:

netstat -tap | grep mysql

应该显示如下信息:

[root@server1 ~]# netstat -tap | grep mysql
tcp        0      0 *:mysql                     *:*                         LISTEN      1376/mysqld
[root@server1 ~]#

如果不显示,编辑/etc/my.cnf文件,并注释掉skip-networking参数:

vi /etc/my.cnf
[...]
 
#skip-networking
 
[...]

并重启 MySQL 服务器:

/etc/init.d/mysqld restart

运行

mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

来为root用户设置一个密码(否则的话任何人都可以访问你的MySQL数据库!)。

3安装 Nginx

Nginx是Fedora12的默认包,我们可以通过下列命令安装它:

yum install nginx

然后我们为nginx创建一个系统启动链接,并启动它:

chkconfig --levels 235 nginx on
/etc/init.d/nginx start

在你的浏览器 中输入你的服务器IP地址或者主机名(例如http://192.168.0.100),然后你就可以看到nginx的欢迎页面:

4 安装PHP5
我们可以让PHP5在nginx中以FastCGI的模式工作。默认情况下Fedora中没有独立的FastCGI deamon包,因此我们使用lighttpd的FastCGI包(lighttpd-FastCGI),并同时安装php-cli和其他的PHP5模 块,例如php-mysql,它可以使你的PHP脚本支持MySQL:

yum install lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy

然后打开/etc/php.ini文件,并在文件的最后加入这一行line cgi.fix_pathinfo = 1:

vi /etc/php.ini
[...]
cgi.fix_pathinfo = 1

我们可以使用Lighttpd-fastcgi包中自带的/usr/bin/spawn-fcgi,启动FastCGI进程。请参考

spawn-fcgi –help

来学习更多的东西.
我们运行下列命令可以启动一个监听本地9000端口,并以nginx用户和组运行的PHP FastCGI后台:

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nginx -g nginx -f /usr/bin/php-cgi -P /var/run/fastcgi-php.pid

当然,你并不像每次启动的时候都手动的输入这些命令,因此你可以让系统在启动时自动执行这些命令,打开/etc/rc.local…

vi /etc/rc.local

… 然后在文件的结尾添加下列命令:

[...]
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nginx -g nginx -f /usr/bin/php-cgi -P /var/run/fastcgi-php.pid

5 配置nginx

现在我们打开nginx的配置文件/etc/nginx/nginx.conf:

vi /etc/nginx/nginx.conf

配置文件简单易懂
(你可以在下列网站学习更多的配置方法http://wiki.codemongers.com/NginxFullExamplehttp://wiki.codemongers.com/NginxFullExample2)
首先你可以增加worker process的数量和设置keepalive_timeout为一个合理值:

[...]
worker_processes  5;
[...]
keepalive_timeout  2;
[...]

虚拟主机定义在server{}容器中.我们使用下列命令修改默认的虚拟主机:

[...]
    server {
        listen       80;
        server_name  _;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
            root   /usr/share/nginx/html;
            index  index.php index.html index.htm;
        }
 
        error_page  404              /404.html;
        location = /404.html {
            root   /usr/share/nginx/html;
        }
 
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
 
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}
 
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
            include        fastcgi_params;
        }
 
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
            deny  all;
        }
    }
[...]

server_name  www.unixbar.net; 你可以在这里通过修改www.unixbar.net来确 定你的域名
在location /部分,我在index行加入了index.php。root /usr/share/nginx/html 意思是文档路径为/usr/share/nginx/html。
对于PHP来说最重要的部分就是 location ~ \.php$ {}。取消它的注释。改变root这一行为网站的文档路径。例如root /usr/share/nginx/html。请确保把fastcgi-param行修改成了fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;;否则得花PHP解析器将不会找到浏览器中调用的PHP.
现在我们保存文件并重启nginx:

/etc/init.d/nginx stop
/etc/init.d/nginx start

(我不能使用/etc/init.d/nginx restart,因为这个命令只停止了nginx,但是无法启动它-不知道为什么…)
现在在文档路径root /usr/share/nginx/html创建下列PHP文件:

vi /usr/share/nginx/html/info.php

现在我们就可以在浏览器中通过http://192.168.0.100/info.php访 问了。

正如你在Server API这一行中所看到的一样,PHP5现在已经以FastCGI模式运行了。如果你继续向下翻看,你就能过看到PHP5所支持的模块,其中就包括 MySQL模块:

6 相关链接

7 原文地址

http://www.howtoforge.com/installing-nginx-with-php5-and-mysql-support-on-fedora-12

分类: Fedora, MySQL, PHP 标签: , ,

在CentOS5.4中安装Lighttpd+PHP5+MySQL

2010年1月23日 15 条评论

Lighttpd是一款安全,高效,基于标准且为高速环境设计的web服务器。这篇教程将教你如何在一台CentOS 5.4中安装Lighttpd+PHP5(FastCGI模式)+MySQL。

我已经测试无误,你可以放心使用。

1 前言备注

在这篇教程中,我使用的主机名为server1.example.com,ip地址是192.168.0.100。这些设置可能与你想要的有所不同,所以你必须在适当的地方修改一下。
阅读全文…

在Fedora 11中安装Nginx+MySQL+PHP5(FastCGI模式)LNMP

2010年1月21日 6 条评论

Nginx(发音为 “engine x”)是一款免费、开源、高性能的HTTP服务器。同时Nginx以稳定、功能丰富、配置简单、资源消耗少著称。这篇教程将会为你展示如何在一台Fedora 11中安装Nginx+MySQL+PHP5(FastCGI模式)
阅读全文…

分类: Fedora, MySQL, PHP 标签: , , , ,

在Ubuntu 9.10中安装设置Apache2+mod_fcgid+PHP5

2010年1月16日 没有评论

这篇教程将教给你如何在Ubuntu 9.10中安装设置Apache2+mod_fcgid+PHP5.mod_fcgid兼容替代老版mod_fastcgi。Mod_fcgid可以让PHP脚本运行在其所有人的的权限下,而非Apache用户。

我已经测试无误,这将保证为你工作!

1.前言

在这篇教程中,我使用的是一台Ubuntu 9.10服务器,主机名为Server1.example.com,Ip地址为192.168.0.100

在这里我将创建两个Apache虚拟主机,分别是www.example1.com and www.example2.com,来演示mod_fcgid的用法。
阅读全文…