gpt4 book ai didi

php - 在 Rails 应用程序中启用 PHP 文件夹?

转载 作者:可可西里 更新时间:2023-11-01 13:12:26 24 4
gpt4 key购买 nike

我需要通过一些 JS ajax 调用在 Rails 应用程序中运行一些用 PHP 编写的脚本。我遇到跨域问题,我的脚本在 localhost/scripts 上处于事件状态,而我的应用程序在 localhost:3000/myapplication 上处于事件状态。对本地主机的 Ajax 请求返回跨域错误。

我能够实现 jsonp 解决方法,它工作正常,但理想情况下我希望从 rails 文件夹中访问 php 文件。我读到可以配置 apache 服务器以在框架内的文件夹上启用 PHP。我在 Linux 上运行 Apache2。

Attempted solution我不是 100% 确定在哪里可以找到 .htaccess 文件,所以我只是在目录 (public/php-scripts) 中创建了一个。不确定这是否有效...

尝试 2:我似乎无法正确配置我的服务器:我安装了所有乘客组件并修改了我的文件:/etc/apache2/sites-available/default

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.1.3
PassengerRuby /usr/bin/ruby1.8
<VirtualHost *:80>
ServerName myservername
DocumentRoot /var/www/myapp/public

<Directory /var/www/myapp/public>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/

<Directory /var/www/>
Options FollowSymLinks
AllowOverride None
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

然后我重新启动了服务器。我错过了什么?我导航到 myservername/和 myservername/myapp 并收到禁止消息

最佳答案

你试过了吗passenger使用 Apache。

这应该对你有帮助。

http://www.abletech.co.nz/blog/serving-php-from-a-rails-app-with-passenger

关键是禁用特定路线的 Passenger。

这对我有用

把这行放在/etc/apache2/sites-available/default 或/etc/apache2/httpd.conf 文件(我不是服务器配置方面的专家所以决定一个,我在 httpd.conf 中有这个)

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.1.3
PassengerRuby /usr/bin/ruby1.8

<VirtualHost *:80>
ServerName myservername
DocumentRoot /var/www/myapp/public

<Directory /var/www/myapp/public>
Allow from all
Options -MultiViews
</Directory>
# route for php app im my example /blog
Alias /blog /var/www/blog
<Location /blog>
PassengerEnabled off
</Location>
</VirtualHost>

关于php - 在 Rails 应用程序中启用 PHP 文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11382355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com