我在设置正确的Cookie路径时遇到了一些麻烦。我想实现什么?
我有一个在我的本地服务器上运行的项目,该项目的路径为http://localhost/project_folder/Controller/function
我可以使用提到的相对路径/project_folder/Controller/function
设置Cookie路径,并且有效
但是当项目在另一台服务器上运行时,其结构有些不同,例如:http://localhost/project
部分被http://www.example.com/Controller
取代,那么麻烦就开始了
我正在使用CodeIgniter框架。
要实现我已尝试使用CodeIgniter提供的base_url()
函数的功能,如果我更改了配置中的站点路径,则它可以在第二台服务器上运行,但不能在本地服务器上运行,反之亦然。
在这种情况下,我应该如何正确处理Cookie路径?
已编辑
:这是一个简单的Cookie集(我在JavaScript中使用了自定义Cookie函数,并且正在通过JavaScript设置Cookie):
createCookie('filter_products', params, '1', '<?php echo base_url('Controller/function'); ?>');
问题是base_url()
函数返回下面的路径,就像我之前说的那样:
http://localhost/project_folder/Controller/function
但是在服务器上,localhost/project_folder/
部分被域名替换了,那么如何动态创建Cookie路径?
答案 0 :(得分:0)
我想到的第一件事是,应尽可能避免通过JavaScript设置Cookies,而应使用CodeIgniter built-in helper或native PHP functions。
对您的问题:
要动态确定您所使用的服务器,可以使用PHP super-global curl -k -X POST https://login.microsoftonline.com/botframework.com/oauth2/v2.0/token -d "grant_type=client_credentials&client_id=APP_ID&client_secret=APP_PASSWORD&scope=https%3A%2F%2Fapi.botframework.com%2F.default"
值,该值可从代码中的任何位置访问。 $_SERVER
字段包含主机的实际名称,因此您可以使用以下内容:
SERVER_NAME