我正在使用 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");