phpsec lib路径无法从cron作业工作
我的脚本的文件路径是phpsec lib路径无法从cron作业工作,php,cron,phpseclib,Php,Cron,Phpseclib,我的脚本的文件路径是 /var/www/html/MyProject/index.php 当我运行脚本作为 ~$ php /var/www/html/MyProject/index.php ~/./Myproject$php index.php它运行得非常好 当我运行脚本作为 ~$ php /var/www/html/MyProject/index.php 它不读取phpseclib文件路径 我的index.php文件是 <?php include("crud.php"); inc
/var/www/html/MyProject/index.php
当我运行脚本作为
~$ php /var/www/html/MyProject/index.php
~/./Myproject$php index.php
它运行得非常好
当我运行脚本作为
~$ php /var/www/html/MyProject/index.php
它不读取phpseclib文件路径
我的index.php文件是
<?php
include("crud.php");
include("functions.php");
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
include('Net/SFTP.php');
...
?>
如何运行php脚本表单cron作业?从错误消息中,您可以看到
phpseclib
未正确添加到包含路径。请改为对set_include_路径执行以下操作:
set_include_path(get_include_path() . PATH_SEPARATOR . __DIR__ . DIRECTORY_SEPARATOR . 'phpspeclib');
\uuuu DIR\uuuu
将考虑您正在执行的文件的位置,不要试图查找相对于当前工作目录的phpseclib
。您可以尝试将phpseclib1.0.12库放置到/usr/share/中,或者如果您是从项目运行,则可以尝试这样添加:
set_include_path('/var/www/html/phpseclib1.0.12');
include('Net/SFTP.php');
您在错误日志中看到了哪些错误?我敢肯定,您的问题在于,您包含的文件具有相对路径(include(“crud.php”);),当您从其他文件夹运行脚本时,它看不到您包含的文件。如果这确实是问题所在,则错误日志中会出现无法找到包含项的错误。请编辑问题、crud和函数。php工作正常,phpseclib位于/MyProject/文件夹中