无论我是尝试创建文件还是在外部URL上使用file_get_contents,我似乎都无法使fopen(或curl)代码正常工作。我检查了phpinfo和allow_url_fopen,allow_url_include和curl都设置为on,甚至查看了php5 / apache2 / php.ini,它们都设置为on。但不管我做什么,没有php代码有效。以下是一些示例(在wamp / localhost上有效,但在移至实时Web服务器时无效)
在文件夹中创建一个html文件(在Windows localhost / wamp服务器上运行)
if (!file_exists('media/folder')) {
mkdir('media/folder', 0755, true);
}
$config_file = 'media/folder/config.html';
$config_file_handle = fopen($config_file, 'w') or die('Cannot open file: '.$config_file); //implicitly creates file
$config_file = 'media/folder/config.html';
$config_file_handle = fopen($config_file, 'w') or die('Cannot open file: '.$config_file);
$config_data = 'add to my file content'.PHP_EOL.'
';
fwrite($config_file_handle, $config_data);
在实时服务器上不起作用。非常令人沮丧,因为这需要工作并且尝试了许多卷曲选项,但也失败了。
下面是另一个在本地工作但无法实时运行的php代码段。
<?php
//works locally if external url used
//works locally if local file used
//Does not work live server if external url used
//Does work live server if local server url used
$string = file_get_contents('my url');
$json_a = json_decode($string, true);
foreach ($json_a as $person_name) {
//Person Name
echo $person_name['PersonName'];
}
?>
如果我无法使它正常工作,就无法实现已设定的工作。
任何帮助,感激
[一个非常常见的错误,您可能需要允许用户www-data访问所需的文件。只需右键单击要单击属性的文件或文件夹,转到权限选项卡,并将www-data设置为所有者。