Apache+PHP+CI(CodeIgniter)配置

尝试了nginx+php,在windows上用cgi模式存在请求阻塞问题(当前请求未完成前,新的请求会被阻塞)。最终使用apache+php配置成功。

软件版本

Apache 2.4.34 
php-5.6.37-Win32-VC11-x64 
CI 2.2.6

Apache配置

  • 修改httpd.conf配置:
  • 
    #增加php解析
    AddType application/x-httpd-php .php .html .htm 
    LoadModule php5_module "D:\software\php-5.6.37-Win32-VC11-x64\php5apache2_4.dll"
    PHPIniDir "D:\software\php-5.6.37-Win32-VC11-x64"
    
    #php代码目录
    <VirtualHost *:80> 
    	ServerName vding.localhost
    	DocumentRoot D:\PhpstormProjects\vding\public
    	DirectoryIndex    index.php #主页,这里也是启动CI的入口
    	<Directory  "D:\PhpstormProjects\vding\public">
            Options -Indexes +FollowSymlinks
            AllowOverride All
            Require all granted
    
    	</Directory>
    </VirtualHost>
    
    ServerName localhost:80
    执行“httpd.exe -k install”,讲apache安装为windows服务
  • 在php代码根目录创建.htaccess文件,增加以下rewrite规则:
    RewriteEngine on
    
    RewriteCond $1 !^(index\.php|static|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
    

    碰到的问题

  • nginx+php方式尝试了很多种方式避免阻塞,都无效。在linux可以设置maxchildren增加并发数,但在windows上并没有列斯配置。
  • 原来的代码用mysql_connect连接数据库,配置完如上环境后,竟然无法连接数据库。换成mysqli_connect后工作正常。

猜你喜欢

转载自blog.csdn.net/quqtalk/article/details/81706550