انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: ارور An error occurred در nginx هنگام اتصال به MySql  (دفعات بازدید: 1772 بار)

0 کاربر و 9 مهمان درحال مشاهده موضوع.

آفلاین how3ein.gh

  • Jr. Member
  • *
  • ارسال: 32
  • جنسیت : پسر
ارور An error occurred در nginx هنگام اتصال به MySql
« : 08 امرداد 1396، 02:55 ب‌ظ »
سلام دوستان

راستش انقدر این nginx و php و mysql منو اذیییییییییت کرده تو اوبونتو که خدا می دونه  ](*,)

اما خب ارزششو داره  :D

راستش دوستان قبلا این مشکل و نداشتم وقتی nginx ریستارت کردم و هیچ تغییر خاصی انجام ندادم . وقتی می خوام تو php به پایگاه داده وصل شم یه همچین اروری رو مشاهده می کنم:

An error occurred.

Sorry, the page you are looking for is currently unavailable.
Please try again later.

If you are the system administrator of this resource then you should check the error log for details.

Faithfully yours, nginx.

و یه همچین لینکی روی کلمه error log تو متن بالا قرار داره:

http://nginx.org/en/docs/ngx_core_module.html#error_log


دوستان ممنون میشم کمکم کنید ...

واقعا اعصاب خوووووورد کنه  :oops:



آفلاین Sosha

  • High Sr. Member
  • *
  • ارسال: 689
  • جنسیت : پسر
  • Only Ubuntu <3
    • نوشته های یک دوستدار گنو
پاسخ : ارور An error occurred در nginx هنگام اتصال به MySql
« پاسخ #1 : 08 امرداد 1396، 03:50 ب‌ظ »
اول از هر چیز بگم که زیاد با nginx کار نکردم و تازه‌کارم به شدت.

این پیغام رو کجا گرفتی و اصلا خود سرویس انجینکست فعال و بدونه مشکله؟
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش برو خدا رو شکر کن که با دمپایی نیومدم سراغت!

آفلاین مهران تعریف

  • Hero Member
  • *
  • ارسال: 707
  • جنسیت : پسر
  • دبیان + xfce
پاسخ : ارور An error occurred در nginx هنگام اتصال به MySql
« پاسخ #2 : 08 امرداد 1396، 06:15 ب‌ظ »
راستش دوستان قبلا این مشکل و نداشتم وقتی nginx ریستارت کردم و هیچ تغییر خاصی انجام ندادم . وقتی می خوام تو php به پایگاه داده وصل شم یه همچین اروری رو مشاهده می کنم
متاسفانه یا خوشبختانه به این ارور برنخوردم تا به حال.
یه جستجویی کردم و یه احتمالاتی دارم اینکه کانفیگ هایی که انجام دادی اشتباهاتی هست.

نتیجه ی اینو بزار:
cat /var/log/nginx/error.log
برای php از چه بسته ای استفاده کردی؟

این ارور رو چی شد که گرفتی؟ از چه روشی برای ارتباط با db استفاده می کنی؟

آفلاین how3ein.gh

  • Jr. Member
  • *
  • ارسال: 32
  • جنسیت : پسر
پاسخ : ارور An error occurred در nginx هنگام اتصال به MySql
« پاسخ #3 : 08 امرداد 1396، 06:26 ب‌ظ »
راستش دوستان قبلا این مشکل و نداشتم وقتی nginx ریستارت کردم و هیچ تغییر خاصی انجام ندادم . وقتی می خوام تو php به پایگاه داده وصل شم یه همچین اروری رو مشاهده می کنم
متاسفانه یا خوشبختانه به این ارور برنخوردم تا به حال.
یه جستجویی کردم و یه احتمالاتی دارم اینکه کانفیگ هایی که انجام دادی اشتباهاتی هست.

نتیجه ی اینو بزار:
cat /var/log/nginx/error.log
برای php از چه بسته ای استفاده کردی؟

این ارور رو چی شد که گرفتی؟ از چه روشی برای ارتباط با db استفاده می کنی؟

نتیجه این فایل:

2017/07/30 15:54:09 [error] 1071#0: *27 FastCGI sent in stderr: "PHP message: PHP Warning:  mysql_connect(): Access denied for user 'www-data'@'localhost' (using password: NO) in /usr/share/nginx/html/Project/php/laitec/4/arc/libs/functions.php on line 10
PHP message: PHP Stack trace:
PHP message: PHP   1. {main}() /usr/share/nginx/html/Project/php/laitec/4/arc/index.php:0
PHP message: PHP   2. require() /usr/share/nginx/html/Project/php/laitec/4/arc/index.php:12
PHP message: PHP   3. Query() /usr/share/nginx/html/Project/php/laitec/4/arc/parts/login.php:5
PHP message: PHP   4. mysql_connect() /usr/share/nginx/html/Project/php/laitec/4/arc/libs/functions.php:10
PHP message: PHP Warning:  mysql_select_db(): Access denied for user 'www-data'@'localhost' (using password: NO) in /usr/share/nginx/html/Project/php/laitec/4/arc/libs/functions.php on line 11
PHP message: PHP Stack trace:
PHP message: PHP   1. {main}() /usr/share/nginx/html/Project/php/laitec/4/arc/index.php:0
PHP message: PHP   2. require() /usr/share/nginx/html/Project/php/laitec/4/arc/index.php:12
PHP message: PHP   3. Query() /usr/share/nginx/html/Project/php/laitec/4/arc/parts/login.php:5
PHP message: PHP   4. mysql_select_db() /usr/share/nginx/html/Project/php/laitec/4/arc/libs/functions.php:11
PHP message: PHP Warning:  mysql_select_db(): A link to the server could not be established in /usr/share/nginx/html/Project/php/laitec/4/arc/libs/functions.php on line 11
PHP message: PHP Stack trace:
PHP message: PHP   1. {main}() /usr/share/nginx/html/Project/php/laitec/4/arc/index.php:0
PHP message: PHP   2. require() /usr/share/nginx/html/Project/php/laitec/4/arc/index.php:12
PHP message: PHP   3. Query() /usr/share/nginx/html/Project/php/laitec/4/arc/parts/login.php:5
PHP message: PHP   4. mysql_select_db() /usr/share/nginx/html/Project/php/laitec/4/arc/libs/functions.php:11
PHP message: PHP Warning:  mysql_query(): Access denied for user 'www-data'@'localhost' (using password: NO) in /usr/share/nginx/html/Project/php/laitec/4/arc/libs/functions.php on
2017/07/30 15:54:09 [error] 1071#0: *27 upstream sent too big header while reading response header from upstream, client: 127.0.0.1, server: server_domain_name_or_ip, request: "POST /Project/php/laitec/4/arc/?p=login HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "127.0.0.1", referrer: "http://127.0.0.1/Project/php/laitec/4/arc/?p=login"


ببین راستش من می دونم بهترین راه ارتباط با دیتابیسمون روش PDO اما برای تست هم که شده از تابع های mysql_coonect .. استفاده کردم که شی گرایی نیست ....

شب تست کردم شد صبح nginx ریستارت کردم دیگ این ارور و میدیدم !

والا یادم نیست از چه بسته ای استفاده کردم .... تو یکی از سایت ها دیدم

اصلا جدا چه شکلی میشه بسته نرم افزاری درست نصب کردم ! این خودش یه سواله ....

منون میشم کمکم کنی و بگی چرا من انقدر به مشکل می خورم  ](*,)
« آخرین ویرایش: 08 امرداد 1396، 06:28 ب‌ظ توسط how3ein.gh »

آفلاین how3ein.gh

  • Jr. Member
  • *
  • ارسال: 32
  • جنسیت : پسر
پاسخ : ارور An error occurred در nginx هنگام اتصال به MySql
« پاسخ #4 : 08 امرداد 1396، 06:27 ب‌ظ »
اول از هر چیز بگم که زیاد با nginx کار نکردم و تازه‌کارم به شدت.

این پیغام رو کجا گرفتی و اصلا خود سرویس انجینکست فعال و بدونه مشکله؟

خب من که نگفتم حرفه ای هستم!

ولی همین من تو ویندوز مشکل نداشتم حداقل شاید به خاطر بی سوادیم تو دنیا لینوکسه  :)

بله خودش فعاله ... تو صفحه لاگین که می خواد وارد بشه و کوری خیلی ساده رو نتونست بالا بیاره و این ارور و داد

آفلاین مهران تعریف

  • Hero Member
  • *
  • ارسال: 707
  • جنسیت : پسر
  • دبیان + xfce
پاسخ : ارور An error occurred در nginx هنگام اتصال به MySql
« پاسخ #5 : 08 امرداد 1396، 06:37 ب‌ظ »
منون میشم کمکم کنی و بگی چرا من انقدر به مشکل می خورم  ](*,)
مشکل اینکه ما یدونه مشکل نداریم! همون طور که حدس می زدم FastCGI به مشکل بر خورده. این مورد به nginx ربطی نداره.
اصلی ترین مشکل شما اینکه بدون اینکه کار کردن با گنو رو یاد بگیری و یواش یواش و مرحله مرحله بیایی جلو ،‌ شیرجه زدی در جاهای عمیق! nginx فوق العاده اس و خیلی هم حرفه ای که تنظیمات دستی زیادی هم داره ولی متاسفانه شما با مسایل حتی ابتدایی هم آشنایی نداری.
مثلا گفتم از چه بسته ای استفاده کردید و موضوع مهمی هست.
یادم هست از اوبونتو 14.04 استفاده می کنید که بهتر بود از آخرین ورژن استفاده می کردید.
روش mysql از php ورژن 5.4 منسوخ شده و شما نمی تونی ازش استفاده کنی (نمی دونم ورژن php چنده). می تونی به جاش از mysqli که در بعضی جاها تفاوت هایی با mysql داره استفاده کنی. pdo هم بهترین روش نیست و نظر شخصی خیلی ها اینکه بهترین هست.

اما در مورد فایل log:
2017/07/30 15:54:09 [error] 1071#0: *27 FastCGI sent in stderr: "PHP message: PHP Warning:  mysql_connect(): Access denied for user 'www-data'@'localhost' (using password: NO) in /usr/share/nginx/html/Project/php/laitec/4/arc/libs/functions.php on line 10
شما اشتباه کدنویسی داری و به nginx ربطی نداره این موضوع. با احتمال قوی می گم display_errors در تنظیمات شما off هست. طبق چیزی که پاسخ دهنده ی اول در این تاپیک گفته برید جلو و ببینید مشکل شما چیه. ممکنه اون توابع که داری استفاده می کنی در ورژن فعلی php حذف شده باشه یا خطایی داشته باشی. با رفع مشکل کدنویسی این مشکل هم حل میشه.

پ.ن: در لوکال بهتره display_errors رو فعال کنیم تا وقتی اشتباه کد نویسی داشتیم بهمون بگه. در فایل php.ini می تونی فعالش کنی.
« آخرین ویرایش: 08 امرداد 1396، 07:05 ب‌ظ توسط آقای مهران »

آفلاین مهران تعریف

  • Hero Member
  • *
  • ارسال: 707
  • جنسیت : پسر
  • دبیان + xfce
پاسخ : ارور An error occurred در nginx هنگام اتصال به MySql
« پاسخ #6 : 08 امرداد 1396، 07:10 ب‌ظ »
تکمیلی!
یه فایل بساز این رو توش بنویس:
<?php
echo php_info();
?>

اونجا مشخصات php هست. ورژن php ات چیه ، مسیر php.ini کجاست و آیا display_errors فعال هست یا نه.

واسه یاد گرفتن لینوکس هم LPIC 1 جادی خیلی خوبه. اگه دو بار ببینی اش (همراه با تمرین زیاد) خیلی راحت می تونی با این سیستم کار کنی و لذت ببری! ولی راه های دیگه ای هم هست که چطور گنو رو خوب یاد بگیری. جستجو کن.

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4867
  • جنسیت : پسر
  • masoft قدیم
پاسخ : ارور An error occurred در nginx هنگام اتصال به MySql
« پاسخ #7 : 08 امرداد 1396، 08:39 ب‌ظ »
دارید سعی می‌کنید با کاربر www-data و بدون گذرواژه به MySQL وصل بشید که امکانپذیر نیست. ابتدا یک کاربر توی MySQL بسازید و با اون کاربر و گذرواژهٔ اون کاربر وصل بشید.

آفلاین how3ein.gh

  • Jr. Member
  • *
  • ارسال: 32
  • جنسیت : پسر
پاسخ : ارور An error occurred در nginx هنگام اتصال به MySql
« پاسخ #8 : 08 امرداد 1396، 10:25 ب‌ظ »
نقل‌قول
اصلی ترین مشکل شما اینکه بدون اینکه کار کردن با گنو رو یاد بگیری و یواش یواش و مرحله مرحله بیایی جلو ،‌ شیرجه زدی در جاهای عمیق! nginx فوق العاده اس و خیلی هم حرفه ای که تنظیمات دستی زیادی هم داره ولی متاسفانه شما با مسایل حتی ابتدایی هم آشنایی نداری.
مثلا گفتم از چه بسته ای استفاده کردید و موضوع مهمی هست.

خب دوست عزیز من وقتی باید یه پروژه php تحویل بدم که نمیتونم به خاطرش برم لینوکس یاد بگیرم!‌ شریجه زدن اصلا به نظرم لغت درستی نبود خب من کارم اینه مثل اینکه یه کسی به خواد تو ویندوز پاورپوینت بسازه و کار با پاورپوینت و بلده بگن برو کلا ویندوز یادبگیر که بعدش بتونی باهاش کار کنی!

نقل‌قول
یادم هست از اوبونتو 14.04 استفاده می کنید که بهتر بود از آخرین ورژن استفاده می کردید.

من از یکی از دوستان شنیدم چون کد های گنو زود زده میشه و فرصت برای چک و دیباگش به اون صورت نیست بهتره از نسخه قبلی LTS که اومده استفاده کنی!‌ که یه سیستم پایدار داشته باشی . ضمن اینکه همین 14.04 تا چند سال دیگه پوشش میشه و اپدیت میده...

نقل‌قول
روش mysql از php ورژن 5.4 منسوخ شده و شما نمی تونی ازش استفاده کنی (نمی دونم ورژن php چنده).
از این روش تا نسخه زیر ۷ میشه استفاده کرد و دیپریکیت نشده . نسخه من هم 5.5.9 هست و گفتم یه بار اجارش کردم و صبح که پاشدم دیدم نمیشه چون nginx ریستارت کردم.

 
نقل‌قول
ما اشتباه کدنویسی داری و به nginx ربطی نداره این موضوع. با احتمال قوی می گم display_errors در تنظیمات شما off هست.

اخ دقیقا من نمیدونم چی شده که error reporting من کار نمی کنه و وقتی خواستم برم تو فایل php.ini دیدم تو پوشه etc چند تا پوشه است که تو هرکدوم php.ini وجود داره ! و من کاملا گییییییییییییییج شدم !‌و وقتی امتحانی یکی و بالا اوردم error_reporting', E_ALL اصلا وجود نداشت که به خوام دست رسی بدم بهش .

احتمال اینکه ربطی به nginx نداشته باشه و خطا کد نویسی باشه بالاست اما خب من نمیدونم چی شده که این off شده.
بازم ممنون
« آخرین ویرایش: 08 امرداد 1396، 10:27 ب‌ظ توسط how3ein.gh »

آفلاین how3ein.gh

  • Jr. Member
  • *
  • ارسال: 32
  • جنسیت : پسر
پاسخ : ارور An error occurred در nginx هنگام اتصال به MySql
« پاسخ #9 : 08 امرداد 1396، 10:26 ب‌ظ »
دارید سعی می‌کنید با کاربر www-data و بدون گذرواژه به MySQL وصل بشید که امکانپذیر نیست. ابتدا یک کاربر توی MySQL بسازید و با اون کاربر و گذرواژهٔ اون کاربر وصل بشید.

واقعا این طور نیست من بهش پسورد و یوزر درست هم دادم و حتی یه بار اجرا شد!‌ میگم وقتی nginx ریستارت کردم دیگه اجرا نشد و این ارور داد

بازم ممنون بابت کمکت

آفلاین how3ein.gh

  • Jr. Member
  • *
  • ارسال: 32
  • جنسیت : پسر
پاسخ : ارور An error occurred در nginx هنگام اتصال به MySql
« پاسخ #10 : 08 امرداد 1396، 10:42 ب‌ظ »
تکمیلی!
یه فایل بساز این رو توش بنویس:
<?php
echo php_info();
?>

اونجا مشخصات php هست. ورژن php ات چیه ، مسیر php.ini کجاست و آیا display_errors فعال هست یا نه.

واسه یاد گرفتن لینوکس هم LPIC 1 جادی خیلی خوبه. اگه دو بار ببینی اش (همراه با تمرین زیاد) خیلی راحت می تونی با این سیستم کار کنی و لذت ببری! ولی راه های دیگه ای هم هست که چطور گنو رو خوب یاد بگیری. جستجو کن.

خیلی ممنون

راستش الان رفتم دیدم off و من on کردم اما متاسفانه هنوز ارور ها رو نشون نمیده و همون ارور همیشگی و میده...

آفلاین مهران تعریف

  • Hero Member
  • *
  • ارسال: 707
  • جنسیت : پسر
  • دبیان + xfce
پاسخ : ارور An error occurred در nginx هنگام اتصال به MySql
« پاسخ #11 : 09 امرداد 1396، 01:23 ق‌ظ »
راستش انقدر این nginx و php و mysql منو اذیییییییییت کرده تو اوبونتو که خدا می دونه  ](*,)
خب دوست عزیز من وقتی باید یه پروژه php تحویل بدم که نمیتونم به خاطرش برم لینوکس یاد بگیرم!‌
برای تحویل دادن یه پروژه ی PHP که نمی تونید به خاطرش برید لینوکس گنولینوکس یاد بگیرید، مجبور نیستید از nginx استفاده کنید و nginx شما رو اذیت نمیکنه. میتونید از بسته xampp که خیلی کانفیگ ها رو پیشفرض داره استفاده کنید.در مورد nginx باید کتاب خوند، داکیومنت ها شو خوند و ازش شروع به استفاده کرد وگرنه میگن توش شیرجه زدی.

مثل اینکه یه کسی به خواد تو ویندوز پاورپوینت بسازه و کار با پاورپوینت و بلده بگن برو کلا ویندوز یادبگیر که بعدش بتونی باهاش کار کنی!
باید اون فرد بتونه همون نرم افزار پاورپوینت رو نصب، حذف، اکتیو و آپدیت کنه.

من از یکی از دوستان شنیدم چون کد های گنو زود زده میشه و فرصت برای چک و دیباگش به اون صورت نیست بهتره از نسخه قبلی LTS که اومده استفاده کنی!‌ که یه سیستم پایدار داشته باشی . ضمن اینکه همین 14.04 تا چند سال دیگه پوشش میشه و اپدیت میده...
آخرین ورژن LTS اوبونتو ۱۶.۰۴ هست.
هدف ورژن های LTS یه چیز دیگه اس.
آپدیت های 4 سال قبل لزوما ورژن آخر با قابلیت های جدید نیس.
گنو کد هاش زود زده نمیشه و قبل منتشر شدن بار ها چک میشه و همین آخرین ورژن (۱۷.۰۴) استیبل هست.

از این روش تا نسخه زیر ۷ میشه استفاده کرد و دیپریکیت نشده . نسخه من هم 5.5.9 هست و گفتم یه بار اجارش کردم و صبح که پاشدم دیدم نمیشه چون nginx ریستارت کردم.
متن از [php.net] در مورد تابع mysql_connect :
Warning
This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used.

وقتی خواستم برم تو فایل php.ini دیدم تو پوشه etc چند تا پوشه است که تو هرکدوم php.ini وجود داره !
خروجی تابع php_info مسیر دقیق فایل php.ini رو میگه.
باید اینگونه تغییر داد:
display_errors = on

آفلاین مهران تعریف

  • Hero Member
  • *
  • ارسال: 707
  • جنسیت : پسر
  • دبیان + xfce
پاسخ : ارور An error occurred در nginx هنگام اتصال به MySql
« پاسخ #12 : 09 امرداد 1396، 01:25 ق‌ظ »
همچنین :

در لینکی که در پست های قبلی دادم کاملا توضیح داده شده که در صورت ارور دادن اتصال به دیتابیس ، چطوری اون ارور رو چاپ کنیم.

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4867
  • جنسیت : پسر
  • masoft قدیم
پاسخ : ارور An error occurred در nginx هنگام اتصال به MySql
« پاسخ #13 : 09 امرداد 1396، 01:30 ق‌ظ »
میتونید از بسته xampp که خیلی کانفیگ ها رو پیشفرض داره استفاده کنید.
البته نرم‌افزارهایی مثل XAMPP برای این درست شدند که بشه LAMP رو توی سیستم‌عامل‌های دیگه مثل ویندوز داشت و استفاده از اون توی سیستم‌عاملی مثل گنو-لینوکس نه پیشنهاد میشه و نه کار درستیه. بهتره از LAMP استفاده بشه.

آفلاین how3ein.gh

  • Jr. Member
  • *
  • ارسال: 32
  • جنسیت : پسر
پاسخ : ارور An error occurred در nginx هنگام اتصال به MySql
« پاسخ #14 : 09 امرداد 1396، 08:58 ق‌ظ »
نقل‌قول
رای تحویل دادن یه پروژه ی PHP که نمی تونید به خاطرش برید لینوکس گنولینوکس یاد بگیرید، مجبور نیستید از nginx استفاده کنید و nginx شما رو اذیت نمیکنه. میتونید از بسته xampp که خیلی کانفیگ ها رو پیشفرض داره استفاده کنید.در مورد nginx باید کتاب خوند، داکیومنت ها شو خوند و ازش شروع به استفاده کرد وگرنه میگن توش شیرجه زدی.
کاملا حق با شماست  \\:D/ ممنونم از راهنماییت در این موضوع

نقل‌قول
آخرین ورژن LTS اوبونتو ۱۶.۰۴ هست.
هدف ورژن های LTS یه چیز دیگه اس.
آپدیت های 4 سال قبل لزوما ورژن آخر با قابلیت های جدید نیس.
گنو کد هاش زود زده نمیشه و قبل منتشر شدن بار ها چک میشه و همین آخرین ورژن (۱۷.۰۴) استیبل هست.
خب یعنی اگ من به خوام یه سیستم پایدار و خوب داشته باشم که بتونم راحت کارام و انجام بدم و اگر به مشکل برخوردم بتونم راحت سرچ کنم و رفعش کنم پیشنهاد شما اینکه سراغ 16.04 برم؟

نقل‌قول
Warning
This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used.

تا زیر ۷ طبق گفته من کار می کنه‌! البته دیپریکیت شده اما به هرحال کار می کنه :D تو php7 حذف شده و من به هرحال یه بار تست کردم شد . نباید سریع بعدش نشه!

نقل‌قول
خروجی تابع php_info مسیر دقیق فایل php.ini رو میگه.

من دقیقا این کارو کردم و دستوریی که گفتید و انجام دادم درست نشد و هنوز ارور ها مشاهده نمیشه ...

بازم ممنون بابت کمکت