Ich habe ein PHP-Projekt, das perfekt unter Windows läuft.
Jetzt stelle ich das Projekt auf dem Centos Linux Server bereit.
define('INCLUDES_PATH', ROOT_PATH.'cms-includes/');
ini_set('include_path',INCLUDES_PATH.':'.ini_get('include_path'));
also INCLUDES_PATH
-->C:\xampp\htdocs\cms-includes
Ich habe ein Pfadproblem unter Linux. Unter Linux ist mein Projektspeicherort/var/www/web_loan/xampp/htdocs\...cms-includes
Jetzt gibt es das Problem, den Pfad für festzulegen C:\
. Wie kann ich das unter Linux tun, wenn C:\
auf dem Server kein Speicherort vorhanden ist?
welche Art von Pfad soll ich angeben?
Der Fehler sieht so aus
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.
Zeile Nr. 15 sieht aus wie ininit.inc.php
require_once(INCLUDES_PATH . 'pear.mysql.php');
Sollte ich INCLUDES_PATH gemäß Linux definieren defines.inc.php
?
Antwort1
Laufwerksbuchstaben wie C:
usw. D:
gibt es unter Unix/Linux nicht. Egal, welche Datei vorhanden ist, Sie finden sie irgendwo unter /
. Beachten Sie, dass das Verzeichnistrennzeichen unter Unix/Linux und /
nicht ist \
.
Ersetzen Sie in Anbetracht dessen, was Sie geschrieben haben, C:\
durch /var/www/web_loan
und ersetzen Sie alle Backslashes ( \
) durch Forwardslashes ( /
)
Antwort2
Überprüfen Sie zunächst, ob die Datei vorhanden ist. Geben Sie in der Eingabeaufforderung Folgendes ein:
ls -l /var/www/web_loan/xampp/htdocs/cms-includes/init.inc.php
Dies sollte Ihnen auch den Eigentümer der Datei anzeigen. Stellen Sie sicher, dass der Benutzer, der Apache ausführt, diese Datei lesen kann. Normalerweise ist dieser Benutzer www-data
. Wenn nicht, führen Sie Folgendes aus:
chown www-data:www-data /var/www/web_loan/xampp/htdocs/cms-includes/init.inc.php
Versuchen Sie, in Ihrer Anweisung den absoluten Pfad anzugeben require
:
require_once('/var/www/web_loan/xampp/htdocs/cms-includes/pear.mysql.php');
Wenn dies funktioniert, kann es sein, dass die Konstantenvariable nicht richtig definiert wird.
BEARBEITEN: chown, nicht chmod