Commit e65a4b0f53b for php.net
commit e65a4b0f53bdb5a368e07dd8e901edee56dfd615
Author: Weilin Du <weilindu@php.net>
Date: Thu Jul 23 18:05:22 2026 +0800
ext/phar: Improve various error messages (#22858)
Safe mode in phar is removed in PHP 5.4, so removing them in error messages.
Also fix some obvious typos in the error messages.
diff --git a/NEWS b/NEWS
index 8c12e62f7c0..63e4fdf0c24 100644
--- a/NEWS
+++ b/NEWS
@@ -38,6 +38,10 @@ PHP NEWS
. Fixed bug GH-22665 (Out-of-bounds write when the ODBC driver reports a
diagnostic message length beyond the error buffer). (iliaal)
+- Phar:
+ . Fixed grammatical issues and outdated terminology in Phar error messages.
+ (Weilin Du)
+
- Reflection:
. Fixed bug GH-22681 (Reflection*::__toString() truncates on null bytes).
(DanielEScherzer)
diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c
index 9859551b3cc..0139f0889a8 100644
--- a/ext/phar/phar_object.c
+++ b/ext/phar/phar_object.c
@@ -4136,7 +4136,7 @@ ZEND_ATTRIBUTE_NONNULL static zend_result phar_extract_file(bool overwrite, phar
}
if (php_check_open_basedir(fullpath)) {
- spprintf(error, 4096, "Cannot extract \"%s\" to \"%s\", openbasedir/safe mode restrictions in effect", ZSTR_VAL(entry->filename), fullpath);
+ spprintf(error, 4096, "Cannot extract \"%s\" to \"%s\", open_basedir restrictions in effect", ZSTR_VAL(entry->filename), fullpath);
efree(fullpath);
efree(new_state.cwd);
return FAILURE;
diff --git a/ext/phar/tar.c b/ext/phar/tar.c
index f85241ccc4e..bc78472afce 100644
--- a/ext/phar/tar.c
+++ b/ext/phar/tar.c
@@ -815,7 +815,7 @@ static int phar_tar_writeheaders_int(phar_entry_info *entry, void *argument) /*
if (sizeof(header) != php_stream_write(fp->new, (const char *) &header, sizeof(header))) {
if (fp->error) {
- spprintf(fp->error, 4096, "tar-based phar \"%s\" cannot be created, header for file \"%s\" could not be written", ZSTR_VAL(entry->phar->fname), ZSTR_VAL(entry->filename));
+ spprintf(fp->error, 4096, "tar-based phar \"%s\" cannot be created, header for file \"%s\" could not be written", ZSTR_VAL(entry->phar->fname), ZSTR_VAL(entry->filename));
}
return ZEND_HASH_APPLY_STOP;
}
diff --git a/ext/phar/tests/dir.phpt b/ext/phar/tests/dir.phpt
index db5d0262add..84645e41d9d 100644
--- a/ext/phar/tests/dir.phpt
+++ b/ext/phar/tests/dir.phpt
@@ -71,7 +71,7 @@
Warning: mkdir(): phar error: cannot create directory "sub" in phar "%sok.phar", directory already exists in %sdir.php on line %d
-Warning: mkdir(): phar error: cannot create directory "sub/directory.txt" in phar "%sok.phar", phar error: path "sub/directory.txt" exists and is a not a directory in %sdir.php on line %d
+Warning: mkdir(): phar error: cannot create directory "sub/directory.txt" in phar "%sok.phar", phar error: path "sub/directory.txt" exists and is not a directory in %sdir.php on line %d
Warning: mkdir(): internal corruption of phar "%soops.phar" (truncated manifest at stub end) in %sdir.php on line %d
diff --git a/ext/phar/tests/mkdir.phpt b/ext/phar/tests/mkdir.phpt
index 2c1586b0de5..9955574caac 100644
--- a/ext/phar/tests/mkdir.phpt
+++ b/ext/phar/tests/mkdir.phpt
@@ -42,13 +42,13 @@
Warning: mkdir(): phar error: cannot create directory "" in phar "foo.phar", phar error: invalid path "" must not be empty in %smkdir.php on line %d
-Warning: mkdir(): phar error: cannot create directory "a" in phar "%smkdir.phar.php", phar error: path "a" exists and is a not a directory in %smkdir.php on line %d
+Warning: mkdir(): phar error: cannot create directory "a" in phar "%smkdir.phar.php", phar error: path "a" exists and is not a directory in %smkdir.php on line %d
Warning: rmdir(): phar error: cannot remove directory "phar://", no phar archive specified, or phar archive does not exist in %smkdir.php on line %d
Warning: rmdir(): phar error: cannot remove directory "" in phar "foo.phar", directory does not exist in %smkdir.php on line %d
-Warning: rmdir(): phar error: cannot remove directory "a" in phar "%smkdir.phar.php", phar error: path "a" exists and is a not a directory in %smkdir.php on line %d
+Warning: rmdir(): phar error: cannot remove directory "a" in phar "%smkdir.phar.php", phar error: path "a" exists and is not a directory in %smkdir.php on line %d
Cannot create a directory in magic ".phar" directory
Cannot create a directory in magic ".phar" directory
bool(true)
diff --git a/ext/phar/util.c b/ext/phar/util.c
index 1f94be5a269..c78ee50ece1 100644
--- a/ext/phar/util.c
+++ b/ext/phar/util.c
@@ -1226,7 +1226,7 @@ phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, si
if (!entry->is_dir && dir == 2) {
/* user requested a directory, we must return one */
if (error) {
- spprintf(error, 4096, "phar error: path \"%s\" exists and is a not a directory", path);
+ spprintf(error, 4096, "phar error: path \"%s\" exists and is not a directory", path);
}
return NULL;
}
@@ -1290,7 +1290,7 @@ phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, si
efree(test);
/* user requested a directory, we must return one */
if (error) {
- spprintf(error, 4096, "phar error: path \"%s\" exists and is a not a directory", path);
+ spprintf(error, 4096, "phar error: path \"%s\" exists and is not a directory", path);
}
return NULL;
}
diff --git a/ext/phar/zip.c b/ext/phar/zip.c
index 3085ee80c9a..8703979f234 100644
--- a/ext/phar/zip.c
+++ b/ext/phar/zip.c
@@ -959,7 +959,7 @@ static int phar_zip_changed_apply_int(phar_entry_info *entry, void *arg) /* {{{
}
if (-1 == phar_seek_efp(entry, 0, SEEK_SET, 0, false)) {
- spprintf(p->error, 0, "unable to seek to start of file \"%s\" to zip-based phar \"%s\"", ZSTR_VAL(entry->filename), ZSTR_VAL(entry->phar->fname));
+ spprintf(p->error, 0, "unable to seek to start of file \"%s\" while creating zip-based phar \"%s\"", ZSTR_VAL(entry->filename), ZSTR_VAL(entry->phar->fname));
return ZEND_HASH_APPLY_STOP;
}
@@ -1008,7 +1008,7 @@ static int phar_zip_changed_apply_int(phar_entry_info *entry, void *arg) /* {{{
if (-1 == phar_seek_efp(entry, 0, SEEK_SET, 0, false)) {
php_stream_filter_free(filter);
- spprintf(p->error, 0, "unable to seek to start of file \"%s\" to zip-based phar \"%s\"", ZSTR_VAL(entry->filename), ZSTR_VAL(entry->phar->fname));
+ spprintf(p->error, 0, "unable to seek to start of file \"%s\" while creating zip-based phar \"%s\"", ZSTR_VAL(entry->filename), ZSTR_VAL(entry->phar->fname));
return ZEND_HASH_APPLY_STOP;
}