如何在 IIS 7.5 上设置 Laravel 项目?
我有一个使用 Laravel 框架编写的 php 应用程序.我使用运行良好的 XAMPP 服务器开发它.
我想将其移至生产服务器,在该服务器上我可以使用 IIS 7.5 来管理我的应用程序.
这是我所做的
- 我安装了 IIS
- 我安装了 PHP 管理器
在 C:inetpubwwwroot
中创建了一个名为 laravel
的文件夹2. 使用 PHP Manager 我将 PHP 版本更改为 5.6.183. 在我的 5.6.18 版本的 php.ini 中,我启用了以下几行
extension_dir = "ext"cgi.force_redirect = 0cgi.fix_pathinfo = 1fastcgi.impersonate = 1fastcgi.logging = 0扩展=php_mbstring.dll扩展=php_exif.dll;必须在 mbstring 之后,因为它取决于它扩展=php_mysql.dll扩展=php_mysqli.dll扩展=php_openssl.dll扩展=php_pdo_mysql.dlldate.timezone = "在此处输入您的时区"session.entropy_length = 32
- 我用 php 5.6.18 安装了 composer
- 我使用 IIS 中的 URL 重写模型导入了位于公共文件夹中的
.httaccess
文件.这一步创建了一个web.config
文件.然后我将其移至公用文件夹. - 我将
Laravel
转换为 IIS 中的应用程序 - 我在 laravel all 的根目录中添加了 phpinfo.php 文件,我可以通过浏览器看到它.
但我无法访问我的 laravel 应用.
当我去 http://localhost/laravel/public/index.php 我报错
HTTP 500 内部错误
我按照下面的博客了解了我现在的位置
http://alvarotrigo.com/blog/installing-laravel-4-in-windows-7-with-iis7/
https://laracasts.com/discuss/频道/一般讨论/iis7-laravel-5?page=2
如何让 laravel 应用程序运行?
解决方案我终于弄明白了.
我所做的一切都是正确的,除了两件事
- 我将应用程序上的物理路径更改为指向公用文件夹而不是根目录.
- 我的 IIS 用户需要对
bootstrap/cache
和storage
有完全控制权限 <<<这是让一切正常运行的非常关键的一步
现在一切正常.
I have a php application that I write using Laravel framework. I developed it using XAMPP server which was running fine.
I want to move it to a production server where I can use IIS 7.5 to manage my applications.
Here is what I have done
- I installed IIS
- I installed PHP Manager
Created a folder called laravel
in C:inetpubwwwroot
2. Using PHP Manager I changed the PHP version to 5.6.18
3. In my php.ini of the version 5.6.18 I enabled the following lines
extension_dir = "ext" cgi.force_redirect = 0 cgi.fix_pathinfo = 1 fastcgi.impersonate = 1 fastcgi.logging = 0 extension=php_mbstring.dll extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysql.dll extension=php_mysqli.dll extension=php_openssl.dll extension=php_pdo_mysql.dll date.timezone = "ENTER YOUR TIMEZONE HERE" session.entropy_length = 32
- I installed composer with php 5.6.18
- I imported the
.httaccess
file located in the public folder using URL Rewrite Model in IIS. This step created aweb.config
file. Then I moved it to the public folder. - I converted my
Laravel
to Application in IIS - I added phpinfo.php file in the root of my laravel all and I was able to see it via the browser.
But I can't access my laravel app.
When I go to http://localhost/laravel/public/index.php I get an error
HTTP 500 Internal error
I followed the blogs below to get where I am at now
http://alvarotrigo.com/blog/installing-laravel-4-in-windows-7-with-iis7/
https://laracasts.com/discuss/channels/general-discussion/iis7-laravel-5?page=2
How can I get laravel app to run?
解决方案I finally figure it out.
Everything I have done was correct except of 2 things
- I changed the Physical Path on the application to point to the public folder instead of the root.
- I IIS User need to have full control permission on the
bootstrap/cache
andstorage
<< this is very critical step to get everything to work
Everything is running fine now.
相关文章