سؤال

كنت صنع ويب على localhost و عندما حاولت نقله على استضافة يظهر لي الكثير من الأخطاء.يبدو أنه لا يمكن الاتصال إلى قاعدة البيانات المحلية.هنا كود:

$host = "myip";
$user = "root";
$pass = "";
$db = "mydatabase";

mysql_connect($host, $user, $pass);
mysql_select_db($db);
$on = mysql_fetch_row(mysql_query("SELECT COUNT(online) FROM characters WHERE online=1"));
echo "<br>Online: $on[0]<br><br>";

وهنا الإخراج:

Warning: mysql_connect() [function.mysql-connect]: Host 'myip' is not allowed to connect to this MySQL server in * on line 46

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in * on line 48

Online: 

شكرا على المساعدة

هل كانت مفيدة؟

المحلول

وانها مشكلة الخلية إذن المستخدم. إنشاء مستخدم جديد مع بريس على سبيل المثال وضعه على المضيف إلى المضيف المحلي إذا قمت بالاتصال من المضيف المحلي، أو٪ إذا كنت تتصل من الخارج.

نصائح أخرى

كما Alekc ذكرت بشكل صحيح, إنها إذن المشكلة:

يمكنك أن تفعل هذا في سطر الأوامر:

grant all privileges on mydatabase.* 
   to youruser@'your_ip_address' 
   identified by 'your_password';

تليها:

flush privileges;

ثم حاول الاتصال مرة أخرى.نضع في اعتبارنا أن:

your_ip_adress:انها لا الخلية الخادم عنوان IP ولكن عنوان IP الذي يتم الاتصال من (خادم الويب الخاص بك?) your_password:هو واحد يجب أن تستخدم عند إنشاء اتصال على الجانب PHP

تذكر أيضا أنه على الرغم من أن هذا الحل ينبغي أن العمل ليس المفضل منح جميع الامتيازات المستخدم التي سيتم استخدامها من قبل تطبيق ويب.يمكنك أن تفعل الشيء نفسه مع أذونات أقل.

يمكنك أن تفعل كل هذا مع لطيفة واجهة المستخدم الرسومية الواجهة.أنا أفضل سطر الأوامر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top