一个php站点一般要装的东西

1. LAMP, 这个不用说 2. php5-mysql 相当于jdbc 驱动 3. php5-gd 图形库,没有它出不来captcha 4. 本站邮箱及smtp服务器 5. php-mbstring. 有了它,才有mb_strlen()函数,对非西欧字符串进行操作时才会把一个字符的长度视为1 待续。。。

apache httpd禁止直接用IP访问

搜了半天,最后按下面这种方法搞定的: (不用xml做配置文件的系统都是耍流氓,像httpd.conf这种东西的层次感太不明确了) 引用 NameVirtualHost *:80 <VirtualHost *:80>         ServerName 111.111.111.111         <Location />            Order deny,allow             Deny from all         </Location> </VirtualHost> <VirtualHost*:80>         ServerName www.myblog.com         DocumentRoot /home/me/myblog         …        </VirtualHost>

访问centos+apache所服务的页面时出现403错误

这一般是因为运行httpd的进程没有权限访问你的应用所在的目录; 你这个目录的所有者是不是root? 搞了半天,最佳方案是: 1. 新建一个linux账号和组,比如myblog/myblog 2. 用这个账号登录,然后在它的个人目录下建立你的应用目录 3. 修改httpd.conf,找到User和Group两项,改成myblog, myblog

用svn在服务器上通过脚本部署php

可以参考这两个: http://stackoverflow.com/questions/800294/how-to-get-started-deploying-php-applications-from-a-subversion-repository http://stackoverflow.com/questions/7049724/php-svn-whats-the-best-way-to-deploy-svn-tag-to-production 我根据上面的弄了一个糙的: timestamp=`date +%Y%m%d%H%M%S` svn export http://…/svn/myblog/trunk/myblog /home/admin/myblog/$timestamp unlink /home/admin/myblog/current ln -s /home/admin/myblog/$timestamp /home/admin/myblog/current sudo /usr/sbin/apachectl stop sudo /usr/sbin/apachectl start

apache mod_rewrite: 把首页URL重写为另一个URL

试了半天,发现要这样写才行 引用         RewriteEngine on         RewriteRule ^/$ /homepage/index.htm  [PT] 1. 首页"/"前后要用^和$包裹起来,表示只重写首页 2. 如果不写[PT],apache就会去linux根目录(而不是应用根目录)查找 /homepage/index.htm这个文件 3. 如果把[PT]改成[R],则会发现302跳转,用户的浏览器里会出现http://…/homepage/index.htm

php include 路径问题的解决方案

大家都知道,A包含B时必须包含B的绝对路径,才不会因为A的位置改变而导致错误。 那么绝对路径怎么来?有个人给出的方法不错: 在每个php的文件开头写上: <?php set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER[‘DOCUMENT_ROOT’] ); ?> Now anywhere you do an include you can do something like: <?php include ( "Templates/header.inc") ?>

apache httpd各种文件的路径

ubuntu用apt安装的apache2    主配置文件:/etc/apache2/apache2.conf,  httpd.conf已经废弃不用了。    端口配置:  /etc/apache2/ports.conf    VirtualHost配置: 每个host都定义在/etc/apache2/sites-available文件夹里作为独立文件,然后在/etc/apache2/sites-enabled以连接的方式引用定义文件    Mod配置:  机制与VirtualHost类似        日志文件:/var/log/apache2/ 目录下     php.ini:  /etc/php5/apache2/php.ini  (以phpinfo()打印的为准) centos中的apache2    主配置文件:/etc/httpd/conf/httpd.conf    VirtualHost配置:/etc/httpd/conf.d/all-sites.conf    apache可执行文件:/usr/sbin/apachectl, 如sudo /usr/sbin/apachectl restart  mac os中的apache2    注:mac os中自带了apache和php,不需要另外安装    主配置文件:/etc/apache2/httpd.conf    VirtualHost配置:/etc/apache2/extra/httpd-vhosts.conf . 配置前要去主配置文件中把这行去注释:Include /private/etc/apache2/extra/httpd-vhosts.conf    apache可执行文件:/usr/sbin/apachectl, 如sudo /usr/sbin/apachectl restart