使用 shell 脚本在其本机目录中执行文件

使用 shell 脚本在其本机目录中执行文件

我正在使用 shell 脚本从 php-cli 执行 php 文件。其中一个 php 文件available_data在执行过程中创建了一个名为 的文件。问题是php文件需要将文件写入available_data服务器上php文件所在的同一目录/var/www/html。相反,它将文件写入 shell 脚本所在的目录 /bin/scripts/。

这是我的脚本(位于 /bin/scripts/createview.sh)

php /var/www/html/createview_customer.php

我认为问题是 php 文件在 /bin/scripts 中执行。如何让 php 文件在 /var/www/html 中执行?

答案1

修改你的shell脚本,在执行之前进入php脚本目录,然后返回。

cur=$(pwd)
cd /var/www/html && php ./createview_customer.php
cd "$cur"

或者更好地修改您的 php 脚本以首先找到其目录并打开该目录中的文件

$dirpath = dirname(__FILE__);
$handle = fopen("$dirpath/available_data", "w");

相关内容