我网站的前端运行在PHP上。它托管在Verio运行的共享托管平台上。后端是一个MS SQL数据库,也是托管Verio的平台。
最近被Endurance International Group Hldgs Inc(EIG)收购的Verio。我的网站文件已自动迁移到EIG的服务器。发生这种情况时,与MS SQL数据库的连接中断了。
我网站上的一个文件是settings.php文件。在Verio迁移到Endurance的服务器之前,我在该settings.php文件中用于'DB_SERVER'全局变量的连接字符串是'198.170.241.132,1433 \ SQLExpress1'该框即将离线,我的网站已迁移,所以我需要连接到新服务器上的数据库。
我已经能够通过他们的门户网站在Endurance的服务器上创建一个MS SQL数据库。但是,Endurance支持告诉我他们无法为托管数据库的服务器提供IP地址。我想弄清楚如何在没有IP地址的情况下连接到服务器。
我网站上的文件settings.php包含我尝试更新到以下内容的连接信息(是我通过新门户网站设置的数据库的详细信息),看它是否可行。它不起作用:
$GLOBALS['DB_DATABASE']='mydbnamegoeshere';
$GLOBALS['DB_SERVER']='VCNSQL102';
$GLOBALS['DB_USERNAME']='myusernamegoeshere';
$GLOBALS['DB_PASSWORD']='mypasswordgoeshere';
$GLOBALS['DB_VENDOR']='MSSQL';
Verio网站上有一篇关于如何连接服务器的知识库文章,但它是为ASP.NET网站而不是PHP网站编写的。此外,它不指定托管MS SQL数据库的服务器的IP。知识库文章在这里:http://www.verio.com/knowledgebase/beta/article.bml?ArticleID=1829
欢迎任何关于正确使用设置的建议(以及放置它们的位置)。
答案 0 :(得分:0)
一位自由职业者帮我完成了这项工作,所以当我不自称是专家的时候,我不想成为DenverCoder9(或Franz)所以我会分享我所知道的以防万一500万+ EIG客户有类似的问题(或类似的共享托管平台上的其他人有蹩脚的支持,并没有给出他们托管的MS SQL DB的IP):
上的RewriteEngine
### subdomain redirect v3 ###
RewriteCond %{HTTP_HOST} ^(www.)?subdomainurl.com$
RewriteCond %{REQUEST_URI} !^/subdomainfoldername/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subdomainfoldername/$1
RewriteCond %{HTTP_HOST} ^(www.)?subdomainurl.com$
RewriteRule ^(/)?$ subdomainfoldername/$1 [L]
修改了包含连接设置的PHP文件以添加
define('DF','\ subdomainfolder'); //这里定义了子域文件夹,用于附加到$ _SERVER ['DOCUMENT_ROOT']以构建到文件夹的路径,其中原始站点是 $ GLOBALS [ 'APPLICATION_DIR'] = $ _ SERVER [ 'DOCUMENT_ROOT'] DF。 $ GLOBALS [ 'APPLICATION_CLASSES_DIR'] = $ GLOBALS [ 'APPLICATION_DIR'] '\类\'。 $ GLOBALS [ 'APPLICATION_FORMS_DIR'] = $ GLOBALS [ 'APPLICATION_DIR'] '\形式\'。 $ GLOBALS [ 'APPLICATION_SKINS_DIR'] = $ GLOBALS [ 'APPLICATION_DIR'] '\皮肤\'。 $ GLOBALS [ 'APPLICATION_USER_FILES_DIR'] = $ GLOBALS [ 'APPLICATION_DIR'] '\ userFiles \'。 $ GLOBALS [ 'APPLICATION_HELP_FILES_DIR'] = $ GLOBALS [ 'APPLICATION_DIR'] '\帮助文档\';
添加以下内容以连接到数据库(新会话目录设置) session_save_path($ GLOBALS [ 'APPLICATION_DIR'] '\会话\');
$ GLOBALS [ 'DB_DATABASE'] = 'mydbnamegoeshere'; $ GLOBALS [ 'DB_SERVER'] = 'VCNSQL102,1433 \ I102'; //服务器,端口#和DB的实例。请注意,我不需要IP,这是我在原始问题中所困惑的 $ GLOBALS [ 'DB_USERNAME'] = 'mydbusernamegoeshere'; $ GLOBALS [ 'DB_PASSWORD'] = 'mydbpasswordgoeshere!'; $ GLOBALS [ 'DB_VENDOR'] = 'MSSQL';
用户在访问网站时登陆的index.php文件中的这一行被注释掉了(因为保存路径是在上面#3中添加的新代码中设置的):
session_save_path( “/家庭/用户/网络/ b1234 / apo.username /的cgi-bin / TMP”);