Linux 서버의 경로 설정

Linux 서버의 경로 설정

Windows에서 완벽하게 실행되는 PHP 프로젝트가 있습니다.

이제 Centos Linux 서버에 프로젝트를 배포하고 있습니다.

define('INCLUDES_PATH', ROOT_PATH.'cms-includes/');
ini_set('include_path',INCLUDES_PATH.':'.ini_get('include_path'));

그래서 INCLUDES_PATH-->C:\xampp\htdocs\cms-includes

Linux에서 경로 문제가 있습니다. Linux에서 내 프로젝트 위치는 다음과 같습니다./var/www/web_loan/xampp/htdocs\...cms-includes

이제 경로를 설정하는 데 문제가 있습니다 C:\. C:\서버에 위치가 없기 때문에 Linux에서는 어떻게 이 작업을 수행할 수 있습니까 ?

어떤 종류의 경로를 제공해야 합니까?

오류는 다음과 같습니다

Fatal error in line 15 of file/var/www/web_loan/xampp/htdocs/cms-includes/init.inc.php
- require_once(INCLUDES_PATHpear.mysql.php): failed to open stream: No such file or directory

PHP Fatal error:  require_once(): Failed opening required 'INCLUDES_PATHpear.mysql.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/web_loan/xampp/htdocs/cms-includes/init.inc.php on line 15.

15번 라인은 다음과 같습니다.init.inc.php

require_once(INCLUDES_PATH . 'pear.mysql.php');

Linux에 따라 INCLUDES_PATH를 정의해야 합니까 defines.inc.php?

답변1

Unix/Linux에는 해당 드라이브 문자가 없습니다 C:. D:파일이 무엇이든 에서 찾을 수 있습니다 /. Unix/Linux의 디렉토리 구분 기호 /는 가 아닌 입니다 \.

작성한 내용에 따라 백슬래시( )를 모두 슬래시( ) C:\로 바꾸고 모든 것을 슬래시( ) 로 /var/www/web_loan바꿉니다.\/

답변2

먼저 파일이 존재하는지 확인하십시오. 명령 프롬프트에 다음을 입력합니다.

ls -l /var/www/web_loan/xampp/htdocs/cms-includes/init.inc.php

여기에는 파일의 소유권도 표시되어야 합니다. Apache를 실행하는 사용자가 파일을 읽을 수 있는지 확인하십시오. 일반적으로 해당 사용자는 입니다 www-data. 그렇지 않은 경우 다음 명령을 실행합니다.

chown www-data:www-data /var/www/web_loan/xampp/htdocs/cms-includes/init.inc.php

명령문에 절대 경로를 지정해 보십시오 require.

require_once('/var/www/web_loan/xampp/htdocs/cms-includes/pear.mysql.php');

이것이 작동한다면 상수 변수가 올바르게 정의되지 않았을 가능성이 있습니다.

편집 : chown은 chmod가 아닙니다

관련 정보