PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل با NFS و php در سرور Centos



amir.asaran
January 2nd, 2014, 18:43
سلام دوستان
خسته نباشید

آقا دوتا سرور دارم توی سرور شماره یکسری فایل دارم که در یک پوشه به نام data ذخیره شده . با php به این فولدر وصل میشم و اطلاعاتی رو از توی این پوشه می خونم
این پوشه را به وسیله nfs شر کردم و روی سرور دوم به آن دسترسی دارم
فایل exports به صورت زیر می باشد.




/Path/to/data/folder/ 1.2.3.4(rw,async,no_root_squash,nohide)

توی سرور دوم پوشه رو به سرور مونت کردم . فایل ها نمایش داده میشه ، انتقال ویرایش ، حذف و هر کار دیگه ای روی فایل ها در سرور دوم وجود دارد.

مشکل اینجاست که وقتی می خوام یکی از فایل های پوشه مونت شده رو با php بخونم فایل پیدا نمیشه . یعنی از توی ترمینال همه چی درست هست و با یوزر روت دیده میشه ولی وقتی از php برای خوندن فایلم استفاده می کنم فایل رو پیدا نمیکنه .

راهی هست ؟

secure_host
January 3rd, 2014, 00:54
با سلام
مسیری که میزنید چیه ؟
مسیری که mount انجام شده کجاست ؟

camelian77
January 3rd, 2014, 06:46
احتمالا یوزر پی اچ پی به اون مسیر دسترسی نداره. سیستم لینوکس هست؟ محتویات fstab رو بفرستید و ls -ltra /mnt چیزی که مانت شده

amir.asaran
January 3rd, 2014, 10:23
با سلام
مسیری که میزنید چیه ؟
مسیری که mount انجام شده کجاست ؟

در این آدرس مونت شده


/var/www/html/data




احتمالا یوزر پی اچ پی به اون مسیر دسترسی نداره. سیستم لینوکس هست؟ محتویات fstab رو بفرستید و ls -ltra /mnt چیزی که مانت شده

آقا من یه چیز رو تست کردم فهمیدم که احتمالا یوزر apache دسترسی نداره یک فایل php ساختم و با اون یکی از فایل هایی که در پوشه data هست رو توش فراخوانی کردم وقتی دستور




php myfile.php



رو توی ترمینال فراخوانی کردم فایل اجرا شد و تمام دسترسی هاش درست بود . یعنی تونست فایل داخل پوشه ای که از روی شبکه مونت کردم رو بخونه ولی وقتی همین فایل رو از آدرس http://mydomain.com/myfile.php فراخوانی کردم با چنین اروری برخورد کردم




Warning: fopen(data/99.msg): failed to open stream: Permission denied in /var/www/html/myfile.php on line 5

amir.asaran
January 3rd, 2014, 10:43
آقا این کارای زیر رو هم انجام دادم جواب نگرفتم




cat /etc/passwd | grep -E "apache"
خروجی دستور بالا

apache:x:48:48:Apache:/var/www:/sbin/nologin


بعد تمام حالت های زیر رو تست کردم




chown apache:apache /var/www/html/data

chown 48:48 /var/www/html/data

chmod 777 /var/www/html/data



ولی به هر حال مشکلم حل نشد